Tool

[Git] git pull, git fetch 명령어 차이

코딩하는 Jay 2025. 1. 15. 14:16
반응형



안녕하세요, Jay입니다. 😊

오늘은 Git을 사용하면서 자주 사용하는 명령어인 git pullgit fetch의 차이를 알아보려고 합니다.
두 명령어 모두 원격 저장소(remote repository)와 관련이 있지만, 그 동작 방식에는 명확한 차이가 있습니다.


git fetch란?

git fetch는 원격 저장소의 변경사항을 로컬 저장소로 가져옵니다.
하지만 작업 중인 브랜치에는 영향을 주지 않습니다. 즉, 로컬 브랜치의 상태는 그대로 유지되고, 원격 저장소의 최신 커밋만 확인할 수 있게 됩니다.

git fetch

 

사용 예시

  1. 원격 저장소에서 변경 사항이 있는지 확인하고 싶을 때 사용합니다.
  2. merge 또는 rebase하기 전에 최신 상태를 가져와 비교하고 싶을 때 유용합니다.

git pull이란?

git pull은 git fetch와 git merge를 합친 명령어입니다.
즉, 원격 저장소의 변경 사항을 가져온 뒤, 현재 작업 중인 브랜치에 바로 병합(merge) 합니다.

git pull

 

사용 예시

  1. 로컬 브랜치에 원격 저장소의 최신 변경 사항을 바로 반영하고 싶을 때 사용합니다.
  2. 협업 프로젝트에서 팀원이 작업한 내용을 빠르게 반영하고 싶을 때 유용합니다.

주요 차이점 정리

구분 git fetch git pull
동작 방식 변경 사항을 가져오기만 하고 병합하지 않음 변경 사항을 가져오고 자동으로 병합까지 수행
작업 브랜치 영향 없음 현재 작업 중인 브랜치가 즉시 업데이트됨
안전성 원격 변경 사항을 미리 확인 가능 (병합 전 상태 확인 가능) 충돌 발생 시 바로 해결해야 함

 


언제 사용해야 할까?

  • git fetch를 먼저 실행한 후 필요에 따라 병합하는 것이 더 안전한 방법입니다.
    예를 들어, 아래와 같이 진행하면 원격 저장소의 변경 사항을 미리 확인하고 충돌을 방지할 수 있습니다.
git fetch 
git merge origin/main
 
  • git pull은 간단하게 최신 상태를 가져오고 바로 작업하고 싶을 때 적합합니다.
    하지만, 충돌 가능성이 있는 경우 조심해서 사용해야 합니다.

한눈에 이해하기

  1. git fetch: "업데이트 내용을 가져오기만 하고, 잠깐 관찰해볼게요!"
  2. git pull: "업데이트 내용 바로 가져오고, 제 브랜치에도 반영할게요!"

 

참고:

https://git-scm.com/doc

 

Git - Documentation

Documentation Reference The official and comprehensive man pages that are included in the Git package itself. Quick reference guides: GitHub Cheat Sheet | Visual Git Cheat Sheet Book Videos Length: 08:15 Length: 05:06 Length: 05:59 Length: 04:26 See all vi

git-scm.com

 

반응형