GIT fetch 와 pull 차이점

재성고·2025년 7월 13일
0

GIT

목록 보기
2/4

🚀 Git fetch vs pull

Git을 사용하다 보면 git fetchgit pull의 차이가 헷갈릴 때가 있습니다. 두 명령어의 차이점을 명확히 알아보겠습니다!

📥 git fetch

git fetch

🔍 특징

  • 원격 저장소의 변경사항만 다운로드
  • 로컬 작업 디렉토리는 변경되지 않음
  • 안전한 명령어 (로컬 코드에 영향 없음)

💡 핵심: 정보만 가져오고, 실제 파일은 건드리지 않아요!


🔄 git pull

git pull

🔍 특징

  • fetch + merge를 한 번에 실행
  • git fetchgit merge origin/branch 과정을 자동으로 수행
  • 로컬 작업 디렉토리가 즉시 업데이트됨

💡 핵심: 가져와서 바로 합쳐버려요!


🔄 구체적인 차이점

fetch 후 상태

git fetch
git status
# "Your branch is behind 'origin/main' by 3 commits"
# 로컬 파일은 그대로, 원격 정보만 업데이트됨

📊 상태: 원격 정보는 최신이지만 로컬 파일은 그대로

pull 후 상태

git pull
git status
# "Your branch is up to date with 'origin/main'"
# 로컬 파일이 최신 상태로 업데이트됨

📊 상태: 원격 정보 + 로컬 파일 모두 최신


🛠️ 실제 사용 예시

🔒 안전한 방법 (fetch 먼저)

git fetch                     # 원격 변경사항 확인
git log HEAD..origin/main     # 어떤 변경사항이 있는지 미리보기
git diff HEAD origin/main     # 코드 차이 확인
git pull                      # 확인 후 병합

⚡ 빠른 방법 (pull 바로)

git pull                      # 바로 가져와서 병합

🤔 언제 뭘 사용할까?

🔍 fetch를 사용하는 경우

  • 원격 저장소에 어떤 변경사항이 있는지 먼저 확인하고 싶을 때
  • 로컬 작업 중이라서 갑작스러운 변경을 원하지 않을 때
  • 충돌 가능성을 미리 파악하고 싶을 때

pull을 사용하는 경우

  • 빠르게 최신 상태로 동기화하고 싶을 때
  • 원격 저장소를 신뢰하고 바로 병합해도 괜찮을 때
  • 일상적인 업데이트 작업

📝 요약

명령어동작로컬 파일 변경안전성
git fetch원격 정보만 가져오기✅ 안전
git pull가져오기 + 병합⚠️ 주의

💡 결론: fetch는 "확인만", pull은 "확인+적용"


💡 Pro Tips

🔥 더 안전한 workflow

# 1. 원격 상태 확인
git fetch

# 2. 변경사항 미리보기
git log --oneline HEAD..origin/main

# 3. 문제없으면 적용
git pull

🛡️ 충돌 방지 팁

# 로컬 변경사항 임시 저장
git stash

# 안전하게 pull
git pull

# 저장했던 변경사항 복구
git stash pop

0개의 댓글