본 문서는 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)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
23.3: pull 작업이 로컬 변경사항들을 덮어쓰도록 하기 (0) | 2019.12.13 |
---|---|
23.2: 로컬 변경사항이 있는 경우 pull 하기 (0) | 2019.12.13 |
23: Pull 하기 (0) | 2019.12.11 |
22.5: Fork 기반의 작업 흐름 (Forking Workflow) (0) | 2019.12.10 |
22.4: GitHub Flow (0) | 2019.12.10 |