참고) https://learngitbranching.js.org/?locale=ko
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
Git Branch 배우기 - fetch, pull 의 차이
5. git fetch, pull
pull
: fetch와 merge를 한번에 실행 (원격지의 데이터를 가져와서 병합한다.)
fetch
: 원격지의 데이터를 가져온다.
언제 fetch
를 사용하는가?
예를 들어 작업자가 user1, user2 두 명 있을 때,
user2 가 주니어 개발자라서 user2 의 커밋 내용을 바로 pull 받지않고, 한번 fetch
하여 확인 후 merge
하고 싶을 때 사용한다.
아래는 위의 상황을 간단히 실습해본 과정이다.
기존 c1 파일 “user1 work” 를 user2가 “user2 work” 라는 줄을 추가하는 작업을 진행하였고,
이를 user1 이 먼저 fetch를 통해 확인한 후 merge 하는 상황이다.
user1 이 fetch
로 확인
git fetch
source tree로 보면 origin/master
를 c2 커밋으로 가져오면서 c2의 데이터를 가져오게 됩니다.
diff
로 master
와 origin/master
를 비교하면 c1 파일에 ++user2 work 가 추가되었다는 것을 확인할 수 있다.
fetch로 확인한 내용이 이상없음을 확인하고 user1이 user2의 내용을 merge
git merge origin/master
source tree에서 보면 c1 이 병합된 내용으로 나오는 것을 확인 할 수 있다.
git log
나 실제 c1 파일을 까보아도 내용이 잘 병합된 것을 확인할 수 있다.
참고 https://wikidocs.net/151849
프로젝트에서 Source Tree를 사용하기로 하여서 source tree를 설치하여 해당 과정을 확인해보았다.
도중에 옵션중에 LF, CRLF 를 선택 하는 것 이있는데, 나는 windows 이기 때문에 CRLF를 선택했다.