■ 개발이력관리 ■/Git
14. 브랜치 충돌
serpiko
2018. 4. 27. 19:52
14. 브랜치 충돌
- 앞서 설명했던 충돌과 똑같은 맥락이다.
- 브랜치 끼리 병합할 때, 똑같은 소스코드의 내용이 수정되어 있는 경우
어떤 소스가 우선권 있는지 모르므로 사용자에게 충돌을 알린다.
1. 브랜치 한개 더 추가
- anotherVer 라는 브랜치를 한개 더 추가한다.
- 아래처럼 총 3개 master, ajax_use(이하 A), anotherVar(이하 B) 브랜치가
존재 하는 상황
2. anotherVer 브랜치에서 소스 수정
- B 브랜치에서 소스 수정한다.
- 일부러 Anohter Branches 버전이라고 넣었다.
3. master에 B 병합해보자
- Merge anotherVer into current branch 선택
4. master 소스와 겹쳐서 에러난다.
5. 수동으로 소스 수정해주고 저장한뒤
6. Resolve Confilcts > Mark Resolved 선택하여 충돌 해결 되었음을 알린다.
7. 수정된 소스 commit 해보자
친절하게도 conflict 내용이 commit's comment에 자동으로 입력되어있다.
8. 올바르게 commit 되었음을 확인
9. 충돌 일어나면 수정할 때 옵션이 있는데, 3번 항목처럼 master에 B 병할때를 기준
- Mine : 브랜치 내용
- Theirs : master
내용으로 병합하겠다는 내용이다.