원격 Git 저장소 | git pull

git pull 명령어

중앙 저장소에서 변경의 로컬 저장소에 병합은 Git 기반의 협업 워크 플로우에서 잘 이루어지는 작업입니다. git fetch 명령과 연속 git merge 명령을 사용하여이 작업을 수행하는 방법은 이미 설명했지만, git pull 은이 두 명령을 소집 명령입니다.

사용법

git pull <remote>

현재 브랜치의 지정된 원격에서 복사를 페치하고 그것을 현재 브랜치에 즉시 병합합니다. 이것은 git fetch <remote> 명령을 실행 한 다음 git merge origin / <current-branch> 명령을 실행하는 것과 같습니다.

git pull --rebase <remote>

위의 명령과 비슷하지만 원격 브랜치를 현재 브랜치에 병합 할 때 git rebase 명령을 사용합니다.

보충 설명

git pull 명령은 SVN의 svn update 명령에 해당한다고 생각할 수 있습니다. 이 명령은 로컬 저장소를 중앙 저장소와 동기화하는 간편한 방법입니다. 다음 그림은 풀을 실행했을 때의 각 단계를 설명하는 것입니다.

Git 튜토리얼 : git pull

처음에는 로컬 저장소를 origin와 동기화되는 상태였다지만, git fetch 명령을 실행 한 결과 origin의 master 에 마지막으로 확인한 시점에서 진행이 있었던 것으로 밝혀졌습니다. 여기에서 git merge 명령을 실행하면 remote master 가 로컬 master로 병합됩니다.

로 Rebase 이용한 풀

–rebase 플래그는 기록 선형성을 확보하고 병합 커밋을 줄일 경우에 사용합니다. 로 Rebase는 “내 변경 작업은 모두 변경을 완료 한 것을 기반으로하고 싶다"고 말하는 동일한 것이며, 많은 개발자는 병합보다로 Rebase 선택하는 경향이 있습니다. 이러한 의미에서, 단순히 git pull 명령보다 –rebase 플래그를 지정하여 git pull 명령을 실행하는 것이, SVN의 svn update 명령에 가깝다고 할 수 있습니다.

실제로 –rebase 플래그를 지정한 풀 작업은 매우 일반적인 워크 플로가 있기 때문에 그것을위한 전용 설정 명령이 포함되어 있습니다 :

git config --global branch.autosetuprebase always

이 명령을 실행하면 이후의 모든 git pull 명령은 통합시 git merge 대신 git rebase 를 사용합니다.

사용 예

다음은 중앙 저장소의 master 브랜치 와의 동기화 방법을 보여줍니다 :

git checkout master
git pull --rebase origin

이 명령을 실행하면 다른 개발자의 작업 성과가 모두 반영된 것 위에 로컬 변경 될 수 있습니다.




최종 수정 : 2021-08-26