반응형
안녕하세요, Jay입니다. 😊
오늘은 Git을 사용하면서 자주 사용하는 명령어인 git pull과 git fetch의 차이를 알아보려고 합니다.
두 명령어 모두 원격 저장소(remote repository)와 관련이 있지만, 그 동작 방식에는 명확한 차이가 있습니다.
git fetch란?
git fetch는 원격 저장소의 변경사항을 로컬 저장소로 가져옵니다.
하지만 작업 중인 브랜치에는 영향을 주지 않습니다. 즉, 로컬 브랜치의 상태는 그대로 유지되고, 원격 저장소의 최신 커밋만 확인할 수 있게 됩니다.
git fetch
사용 예시
- 원격 저장소에서 변경 사항이 있는지 확인하고 싶을 때 사용합니다.
- merge 또는 rebase하기 전에 최신 상태를 가져와 비교하고 싶을 때 유용합니다.
git pull이란?
git pull은 git fetch와 git merge를 합친 명령어입니다.
즉, 원격 저장소의 변경 사항을 가져온 뒤, 현재 작업 중인 브랜치에 바로 병합(merge) 합니다.
git pull
사용 예시
- 로컬 브랜치에 원격 저장소의 최신 변경 사항을 바로 반영하고 싶을 때 사용합니다.
- 협업 프로젝트에서 팀원이 작업한 내용을 빠르게 반영하고 싶을 때 유용합니다.
주요 차이점 정리
구분 | git fetch | git pull |
동작 방식 | 변경 사항을 가져오기만 하고 병합하지 않음 | 변경 사항을 가져오고 자동으로 병합까지 수행 |
작업 브랜치 영향 | 없음 | 현재 작업 중인 브랜치가 즉시 업데이트됨 |
안전성 | 원격 변경 사항을 미리 확인 가능 (병합 전 상태 확인 가능) | 충돌 발생 시 바로 해결해야 함 |
언제 사용해야 할까?
- git fetch를 먼저 실행한 후 필요에 따라 병합하는 것이 더 안전한 방법입니다.
예를 들어, 아래와 같이 진행하면 원격 저장소의 변경 사항을 미리 확인하고 충돌을 방지할 수 있습니다.
git fetch
git merge origin/main
- git pull은 간단하게 최신 상태를 가져오고 바로 작업하고 싶을 때 적합합니다.
하지만, 충돌 가능성이 있는 경우 조심해서 사용해야 합니다.
한눈에 이해하기
- git fetch: "업데이트 내용을 가져오기만 하고, 잠깐 관찰해볼게요!"
- git pull: "업데이트 내용 바로 가져오고, 제 브랜치에도 반영할게요!"
참고:
반응형
'Tool' 카테고리의 다른 글
npm을 이용하여 yarn 설치하기 (0) | 2021.09.15 |
---|---|
[WebStorm] JavaScript에서 작은 따옴표('') 사용하기 (0) | 2021.02.05 |
[WebStorm] JavaScript ECMAScript 설정 변경 (0) | 2021.02.05 |
[Git-TF] Clone (0) | 2020.05.28 |
[VSCode] 라인으로 이동 단축키 (0) | 2020.04.21 |