[GIT] Fetch (커밋 정보 가져오기)

MJ·2022년 8월 15일
3

GIT

목록 보기
26/33
post-thumbnail

변경 내역 확인 하기

GIT에서 사용하는 Pull 기능과 비슷한 Fetch 기능이 있습니다.
Pull은 원격저장소의 정보를 모두 가져와서 working directory까지 카피하는데요
Fetch는 원격저장소의 변경된 커밋만 가져옵니다.

어떤 기능이 포함되어 있는지 명령어를 확인 해보겠습니다.


💡 Git Fetch

  • 원격저장소에 있는 변경내역들을 로컬저장소로 pull 하기 전에 변경된 내역들만
    가져와서 확인
    시켜주는 기능입니다.

  • 원격저장소에 있는 내용을 pull 하기 전에, 어떠한 변경 내역들이 있는지 변경 내역
    에 대한 로그를 확인하고 신중히 결정한 후에 pull 할 수 있는 기능입니다.

git fetch [원격저장소 이름]
# 원격저장소에 변동사항만을 가져 옵니다

git merge FETCH_HEAD
# FETCH_HEAD에 업데이트된 원격저장소의 최신 커밋이, 현재 브랜치에 병합 됩니다.

git fetch; git merge FETCH_HEAD
# git fetch + merge FETCH_HEAD 명령어를 한 번에 사용

FETCH_HEAD 파일이란?

❗ Git에서 Fetch 할 때 마다 업데이트 되는 .git 디렉터리 하위에 위치한 파일
이 파일에는 원격저장소가 병합할 때 마다 생기는 최신 커밋의 정보가 들어 있다.



Git Fetch 사용 하기

이전에 실습을 진행한, Git Pull 실습 환경과 동일한 구성입니다.

PULL 포스팅 확인 하기


1. 개발자 A 저장소에서 파일을 수정하고 원격저장소에 Push


2. 원격저장소에 변경한 내용을 개발자 B 저장소에 Fetch


3. 변경된 내역을 병합해서 로컬저장소의 최신커밋 버전으로 만들기


✔️ FETCH_HEAD 파일을 사용해서 FETCH 및 병합하기

GIT에서 FETCH_HEAD 파일은 원격저장소에 업데이트한 내용을 로컬저장소가 fetch 명령어를
사용할 때, 업데이트된 내용의 커밋 ID가 저장되는 파일 입니다.

이 파일을 사용해서 git pull or git fetch + merge 와 같은 기능을 발휘할 수 있습니다.


1. 원격저장소에 새로 Push 하기


2. 로컬저장소에 FETCH_HEAD 파일을 사용해 병합하기


결과적으로 fetch는 원격저장소의 업데이트된 최신 커밋의 정보를 가져오는 명령어입니다.

profile
프론트엔드 개발자가 되기 위한 학습 과정을 정리하는 블로그

0개의 댓글