상세 컨텐츠

본문 제목

Git pull과 fetch의 차이

Programming/Git

by 쌩우 2019. 10. 14. 15:43

본문

Git 명령어 중, pull과 fetch는 아주 유사하지만 다르게 사용된다.

git pull

: 원격 저장소로부터 파일을 다운과 동시에 병합(auto merge)시킨다.
지역 브랜치와 원격 저장소의 origin/master가 같은 위치를 가리킨다.
git fetch + git merge의 과정으로 생각하면 간단하다.

git fetch

: 원격 저장소로부터 필요한 파일을 다운까지만 한다. 병합은 수동으로 해야 한다.
지역 브랜치는 원래 가지고 있던 지역 저장소의 최근 커밋 위치를 가리키고, 원격 저장소 origin/master는 가져온 최신 커밋을 가리킨다.
git pull과는 다르게 원래 내용과 바뀐 차이를 확인하고 병합을 할 수 있다. (git diff HEAD origin/master)
또 commit이 얼마나 되었는지 히스토리를 알 수 있다. (git log --decorate --all --oneline)
각각의 내용을 확인 후 git merge origin/master 하면 git pull과 같은 기능을 하게 된다.
git fetch 시에는 다른 브랜치들이 어떤 것들이 생성되었는지를 함께 조회 가능하다.
만약 git tag를 이용하여 태깅을 하고 있다면 git fetch를 하여 remote에 올라간 태그 리스트를 가져올 수 있게 된다.

'Programming > Git' 카테고리의 다른 글

Pro Git (3) - 브랜치 part 1  (0) 2019.10.16
Pro Git (2) - 히스토리 조회, 되돌리기, alias  (0) 2019.10.14
Pro Git (1) - 기초, 시작  (0) 2019.10.14

관련글 더보기

댓글 영역