Post

Git Fetch

1. Fetch

fetch는 원격 저장소의 데이터를 로컬에 가져오기만 한다.

pull을 실행하면, 원격 저장소의 내용을 가져와 자동으로 병합 작업을 실행하게 된다. 그러나 단순히 원격 저장소의 내용을 확인만 하고 로컬 데이터와 병합은 하고 싶지 않은 경우에는 fetch 명령어를 사용할 수 있다.

fetch를 실행하면, 원격 저장소의 최신 이력을 확인할 수 있다. 이때 가져온 최신 커밋 이력은 이름 없는 브랜치로 로컬에 가져오게 된다. 이 브랜치는 ‘FETCH_HEAD’의 이름으로 체크아웃 할 수도 있다.

예를 들어, 로컬 저장소와 원격 저장소에 B에서 진행된 커밋이 있는 상태에서 fetch를 수행하면 아래 그림과 같이 이력이 남겨진다.

fetch-head

이 상태에서 원격 저장소의 내용을 로컬 저장소의 ‘master’에 통합하고 싶은 경우에는, ‘FETCH_HEAD’ 브랜치를 merge 하거나 다시 pull을 실행하면 된다.

fetch-head-merge

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.