: 하나의 브랜치를 현재 브랜치와 합치는 것을 병합(merge)라고 합니다. 현재 브랜치는 헤드(HEAD) 브랜치라고 한다고 했죠? 예를 들어 헤드 브랜치가 master 이고 여기서 version2 브랜치를 병합하면 version2의 내용이 master에 반영되게 됩니다. 병합시 자주 발생하는 상황에 대해 알아보도록 합시다.
fast-forward
라고 합니다. 단순히 브랜치의 참조만 갱신되는 상황이죠. 보통 가장 최신 내용 하나만 선택하면 되는 경우가 많습니다.
그리고 최신 내용은 보통 타겟 브랜치에 있는 경우가 많습니다.
(해결되었을 때 그림)
현재 브랜치(HEAD) 가 아닌 경우 간단하게 삭제 가능
브랜치를 삭제했을 경우 사라지는 커밋이 있는지 없는지 확인하자!
서버의 내용이 최신일 경우 pull을 적용한다.
충돌이 날 수 있지만 놀라지 말자.
pull = fetch + merge
자동병합을 실패했을 경우 발생
주로 두 커밋이 같은 파일을 편집했을 경우 발생
1) 에디터를 이용한 해결
2) 병합툴을 이용한 해결
3) sourceTree를 이용한 해결
"겁 먹지 말고" 충돌난 파일을 꼼꼼히 읽어가며 수동으로 수정한다.
혼자서 작업할 경우 일반적으로 두 변경사항 중 하나(주로 내 것)가 최신이고 정답일 가능성이 높다.
reset을 이용해 되돌리기 시전