버전 비교
비교대상
키
- 이 줄이 추가되었습니다.
- 이 줄이 삭제되었습니다.
- 서식이 변경되었습니다.
목차 |
---|
머지는 분기된 이력을 병합하는 방법으로 하나의 브랜치 변경 이력을 다른 브랜치에 병합한다.
다음은 병합의 일반적인 절차를 설명한다.
Step 1) 병합될 브랜치로 전환
- 본 예는 Feature → mastre 병합을 고려한다.
코드 블럭 |
---|
git checkout master |
Step 2) origin 동기화
코드 블럭 |
---|
git pull origin |
Step 3) 머지
머지 명령를 이용해 Feature 브랜치를 master 브랜치로 병합한다. --no-ff 옵션은 머지 커밋을 생성하고 싶은 경우 지정한다.
코드 블럭 |
---|
git merge [--no-ff] Feature |
Setp 4) Feature branch 삭제
코드 블럭 |
---|
git branch -d Feature |
Fast-Forward Merge
아래 그림과 같이 머지 대상 (master)에 변경 이력이 없는 상태에서 Feature의 변경 이력을 병합하는 경우를 의미한다.
3-way Merge
머지 대상 (본 예의 경우 master)에 변경 이력이 존재하는 상태에서 Feature의 변경 이력을 병합하는 경우를 의미한다.
Merge Conflict
해소3-way merge의 경우 동일한 파일에 같은 지점이 변경된 경우 병합 대상 (본 예의 경우 Feature 브랜치)와 master를 병합할 때 충돌이 발생할 수 있다.
이 때 git은 고유한 방법으로 해당 파일 위치에 출동을 표시한다.
코드 블럭 |
---|
$ cat merge.txt <<<<<<< HEAD this is some content to mess with (현재 브랜치 변경 내용) content to append ======= totally different content to merge later >>>>>>> new_branch_to_merge_later |
일반적인 해소 절차는 관련 페이지를 참조한다.
발췌 포함 | ||||
---|---|---|---|---|
|