[Git] fetch 와 pull 의 차이점

김형준 Kim Hyeong Jun·2022년 12월 19일
0
post-thumbnail

pull 과 fetch 는 Git 사용자가 자주 사용하는 명령어이다.

일단, 클론 저장소(Clone repository)는 원격 저장소를 복제한 저장소이다. 이는 다른 사람의 소스 코드 복사본을 생성하는 것과 같으며, 개발을 할 때 보통 우리는 클론 저장소에서 작업을 진행하게 된다.

이러한 상황에서 만일 원격 저장소에 변경 사항이 생긴다면, 우리는 클론 저장소를 최신 상태로 만들어 주어야 한다.

여기서 fetchpull이 등장한다.

git fetch는 로컬 Git에게 원격 저장소에서 최신 메타데이터 정보를 확인하라는 명령을 전달한다.
fetch는 원격 저장소에 변경사항이 있는지 확인만 하고,
변경된 데이터를 로컬 Git에 실제로 가져오지는 않는다.

반면, git pull원격 저장소에서 변경된 메타데이터 정보를 확인할 뿐만 아니라 최신 데이터를 복사하여 로컬 Git에 가져온다.

git fetch를 사용하면 pull 이후 원격 저장소 또는 브랜치에 적용된 변경 사항을 확인할 수 있다.
만일 원격 저장소에서 변경 사항이 존재하는 상황에서 git pull을 실행하면 현재 브랜치와 작업 복사본 파일이 변경되는 동시에 새로 작업한 내용이 손실될 수 있다.
따라서 fetch로 변경 사항을 확인 한 후 pull을 실행하는 방법이 보다 안전하다.

Reference

https://www.freecodecamp.org/korean/news/git-fetch-vs-pull/

profile
I want be a developer🙂

0개의 댓글