Post

Git Pull

1. Pull

pull은 원격 저장소의 데이터를 로컬 저장소에 가져와 병합한다.

아래 그림과 같이 로컬 저장소의 모든 변경 사항이 반영된 상태에서 새로운 변경 사항이 있는 원격 저장소의 커밋 Y를 로컬로 가져오는 경우를 살펴본다.

master

이런 경우, 단순히 ‘fast-forward 병합’이 이루어진다. 그림의 ‘master’는 로컬 저장소의 ‘master’ 브랜치, ‘origin/master’는 원격 저장소 ‘origin’의 ‘master’ 브랜치를 나타낸다.

origin

그러나 로컬 저장소의 ‘master’ 브랜치에서도 변경 사항이 생긴 경우, 양쪽의 변경을 통합할 필요가 있다.

master-branch

이때 pull을 실행하여 소스를 병합할 수 있다. 충돌하는 변경이 없으면 자동적으로 병합 커밋이 만들어지지만, 충돌이 있으면 충돌난 부분을 수동으로 해결한 다음 직접 commit을 해 주어야 한다.

commit

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.