git fetch
와 git pull
은 둘 다 Git에서 원격 저장소로부터 최신 변경 사항을 가져오는 명령어입니다. 하지만 두 명령어는 약간 다른 동작을 수행합니다.
git fetch
: 원격 저장소의 최신 변경 사항을 가져오지만, 로컬 작업 디렉토리에는 반영하지 않습니다. 즉, 원격 저장소에서 변경된 내용을 확인할 수 있지만, 로컬 코드에는 아직 반영되지 않습니다. 이 명령은 로컬과 원격 저장소 사이의 차이를 확인하는 용도로 사용됩니다. git fetch
명령은 로컬 브랜치를 업데이트하지 않으므로, 작업 중인 브랜치에는 영향을 주지 않습니다.
git pull
: git fetch
와 git merge
를 결합한 명령어입니다. git pull
을 실행하면, 원격 저장소의 최신 변경 사항을 가져온 다음, 현재 작업 중인 브랜치에 자동으로 병합(merge)합니다. git pull
은 원격 저장소에서 변경 사항을 가져오고, 그것을 로컬 브랜치에 즉시 반영하는 데 사용됩니다. 따라서 git pull
은 git fetch
를 실행한 후에 git merge
명령어를 별도로 입력하는 것과 동일한 효과를 가집니다.
간단히 말해서, git fetch
는 원격 저장소의 변경 사항을 가져오지만 로컬 작업 디렉토리에는 반영하지 않고, git pull
은 git fetch
를 실행한 후 가져온 변경 사항을 로컬 브랜치에 자동으로 병합합니다.