branch가 나뉘기 전의 공통의 조상을 base라고 한다. 병합을 수행하려면, 병합을 진행하고 싶은 branch로 이동한 뒤, 'git merge branch' 명령을 통해 branch들을 병합할 수 있다. 에디터에 병합 사유를 입력하고 나면 병합이 완료되며, 위 로그는 master에서 branch1을 병합(git merge branch1)한 결과이다. branch와 master에서 각각 다른 파일을 수정한 경우, 수정한 파일의 이름이 각각 branch.txt와 master.txt라고 가정한다면, master에서도 branch.txt가 수정된 상태로 존재하게 될 것이다. 뿐만 아니라, branch와 master에서 각각 samefile.txt의 다른 부분을, 이를테면 a와 b를 각각 수정했다면, 이를 병합한 master의 samefile.txt은 a, b가 모두 수정된 상태로 저장된다. 그러나 같은 상황에서, samefile.txt의 a를 각각 b와 c로 수정했다면, 즉 같은 내용을 각각 다른 내용으로 수정했다면, conflict가 발생한다.
<<<<<HEAD
b
===============
c
>>>>>branch
이 때, samefile.txt를 확인해 보면, 위와 같이 표시된 부분이 있을 것이다. =====는 구분자로, <<<<<HEAD와 ===== 사이에 있는 내용 b는 master(HEAD)에서 수정한 내용이며, =====와 >>>>>branch 사이에 있는 내용 c는 branch에서 수정한 내용이다. 이 부분을 수정하여 다시 커밋하면 conflict가 해결된다.
'git commit --amend' 명령으로 이미 커밋한 버전의 커밋 메시지를 수정할 수 있다.
[Git] back up (0) | 2021.04.25 |
---|---|
[Git] 3-way merge (0) | 2021.04.20 |
[Git] Branch (0) | 2021.04.17 |
[Git] Git 명령어 (0) | 2021.04.16 |
[Git] Repository 생성 (0) | 2021.04.13 |
댓글 영역