git fetch와 git pull

urur-27·2025년 2월 21일

깃허브

목록 보기
5/5

Git에서 원격 저장소와 로컬 저장소를 동기화할 때 주로 사용하는 명령어로 git fetchgit pull이 있다. 이 두 명령어는 모두 원격 저장소의 변경 사항을 가져오는 데 사용되지만, 동작 방식과 결과에서 차이가 있다.


1. git merge vs git rebase 간단 비교

1) git fetch

  • 동작 방식:
    원격 저장소의 최신 커밋과 변경 사항을 로컬 저장소로 가져오지만,
    로컬의 현재 작업 중인 브랜치에는 자동으로 병합하지 않는다.
    가져온 변경 사항은 별도로 업데이트된 브랜치로 저장되며, 이를 수동으로 병합할 수 있다.

  • 예시

git fetch origin
git merge origin/main

위 명령어를 통해 원격 저장소의 변경 사항을 가져온 후, 수동으로 병합할 수 있다.

2) git pull

  • 동작 방식:
    git fetchgit merge를 한 번에 수행하는 명령어로, 원격 저장소의 변경 사항을 가져와 로컬의 현재 브랜치에 자동으로 병합한다.

  • 예시

git pull origin main

위 명령어를 통해 원격 저장소의 변경 사항을 가져오고, 자동으로 브랜치에 병합한다.


2. 차이점

  • 병합 여부:
    git fetch는 변경 사항을 가져오기만 하고 병합하지 않으며, git pull은 가져온 후 자동으로 병합한다.

  • 안전성:
    git fetch는 병합을 수동으로 진행하므로, 충돌 발생 시 사용자가 직접 해결할 수 있어 보다 안전하게 변경 사항을 관리할 수 있다. 반면, git pull은 자동으로 병합하므로 예상치 못한 충돌이 발생할 수 있다.


3. 참고 자료

공식 문서 & 블로그

이미지 출처

profile
끄아악

0개의 댓글