GitNotes.23-1.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 23.1: 변경 사항들을 로컬 저장소로 pull 해오기

간단한 pull 작업

여러 사람들과 원격 저장소에서 (예를 들어 GitHub 와 같은) 작업을 진행중이라면, 작성한 변경 사항을 다른 개발자들과 공유하여야 할 일이 생길 것이다. 만약 다른 사람이 원격 저장소에 변경사항을 push 완료한 이후라면, 해당 변경사항을 저장소로부터 pull 해올 수 있을 것이다.

git pull

대부분의 경우에는 위 명령어 수행만으로도 충분할 것이다.

다른 저장소나 브랜치로부터 pull 해오기

다른 저장소나 브랜치로부터 pull 하기를 원하는 경우 해당 이름을 기술해 줄 수 있다.

git pull origin feature-A

위 명령어 수행 시, origin 저장소로부터 feature-A 브랜치를 사용자의 로컬 브랜치로 pull 해올 것이다. 원격 저장소의 이름 대신에 URL 을 직접 기술하거나, 브랜치 이름 대신에 커밋의 SHA 해시값 등의 object 이름을 기술하는 것도 가능하다는 점에 유의한다.

수동 pull

git pull 의 동작을 모방하기 위하여, git fetch 이후 git merge 명령을 수행할 수 있다.

git fetch origin # origin 저장소로부터 object 들을 받아오고 ref 정보를 갱신한다 git merge origin/feature-A # 실제 merge 작업을 수행한다

이러한 방식은 사용자로 하여금 더 많은 제어를 가능하게 하며, merge 를 수행하기 전에 원격 저장소 내용을 확인할 수 있도록 한다. fetch 를 수행한 이후 git branch -a 명령을 이용해 원격 브랜치들을 확인할 수 있으며, 아래처럼 checkout 을 수행할 수도 있다.

git checkout -b local-branch-name origin/feature-A # 원격 브랜치를 checkout 한다 # 해당 브랜치를 확인하고, 커밋을 만들거나, squash 하거나, amend 등등의 작업을 수행한다 git checkout merging-branches # merge 대상 브랜치로 이동한다 git merge local-branch-name # merge 작업을 수행한다

이와 같은 방법은 pull request 를 처리할때 매우 편리하다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts