녕후킴

fetch와 pull의 차이

0 views

git pull은 git fetch와 git merge가 합쳐진 명령어다.

git fetch는 원격 브랜치의 변경 사항을 로컬의 .git 폴더(local repository)로 가져오지만, 로컬 브랜치의 코드(workspace)에 적용하지 않는다. 이를 통해서 원격 브랜치에서 가져온 변경 사항을 로컬 브랜치의 코드에 반영하기 전에 리뷰할 수 있는 기회가 생기고, merge로 인해서 발생하는 충돌을 막을 수도 있다. 그림으로 보면 아래와 같다.

stackoverflow에서 설명하기로 git fetch를 이용하는 과정은 다음 cli들을 통해서 이루어진다.

git fetch git diff master origin/master

확인 및 수정이 끝났다면, git pull을 통해서 업데이트 가능하다.