상세 컨텐츠

본문 제목

[Git] Merge

Knowledge/Git

by winCow 2021. 4. 18. 20:30

본문

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' 명령으로 이미 커밋한 버전의 커밋 메시지를 수정할 수 있다.

 

 

 

'Knowledge > Git' 카테고리의 다른 글

[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

관련글 더보기

댓글 영역