git fetch 로 원격 저장소 가져오기
이 단계에서는 원격 Git 저장소에서 변경 사항을 가져오는 방법을 배우겠습니다. 다른 사람들과 협업하고 있으며, 그들이 프로젝트에 변경 사항을 적용했다고 가정해 봅시다. git fetch는 현재 작업에 병합하지 않고 해당 변경 사항을 로컬 머신으로 다운로드하는 데 사용하는 명령어입니다.
먼저, 원격 저장소를 시뮬레이션해 보겠습니다. 데모 목적으로 로컬에서 간단한 원격 저장소를 만들 것입니다.
cd ~/project
mkdir remote-repo
cd remote-repo
git init --bare
이렇게 하면 일반적으로 중앙 원격 저장소로 사용되는 "bare" 저장소가 생성됩니다. 이제 my-time-machine 저장소로 돌아가서 이것을 원격 저장소로 추가해 보겠습니다.
cd ~/project/my-time-machine
git remote add origin ../remote-repo
origin이라는 이름의 원격 저장소를 추가했으며, 이는 시뮬레이션된 원격 저장소를 가리킵니다. 이제 원격 저장소에서 변경 사항을 만들고 가져와 보겠습니다.
cd ~/project/remote-repo
echo "This is a remote change." > remote_file.txt
git add remote_file.txt
git commit -m "Add remote file"
이제 my-time-machine 저장소로 돌아가서 원격 저장소에서 변경 사항을 가져오겠습니다.
cd ~/project/my-time-machine
git fetch origin
Git 이 원격 저장소에서 변경 사항을 다운로드했음을 나타내는 출력을 볼 수 있습니다. 다음과 유사합니다.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (2/2), 258 bytes | 258.00 KiB | elapsed 0.00s.
From ../remote-repo
* [new branch] master -> origin/master
git fetch 명령어는 원격 저장소에서 커밋, 파일 및 참조를 로컬 저장소로 다운로드합니다. 그러나 이러한 변경 사항을 현재 작업 브랜치에 자동으로 병합하지는 않습니다. 이를 통해 통합하기 전에 변경 사항을 검사할 수 있습니다.
git fetch를 최신 뉴스 피드를 가져오는 것으로 생각하십시오. 헤드라인과 요약을 볼 수 있지만 아직 전체 기사를 읽지 않았습니다. 나중에 읽고 싶은 기사 (변경 사항) 를 결정 (병합) 할 수 있습니다.