본문 바로가기
IT/Git

git 병합 충돌 해결하기

by 뉴코딩맨 2023. 1. 23.

git merge 명령어를 사용해서 병합을 하다 보면 충돌이 발생할 때가 있는데 각각의 브랜치에서 똑같은 파일을 수정했기 때문에 충돌이 발생한 것이다. 서로 분담을 잘해서 똑같은 파일을 수정하지 않게 하는 게 가장 좋겠지만 의도치 않게 충돌이 발생했을 때 어떻게 해결해야 되는지 알아보자.

 

master 브랜치에서 파일 생성 및 commit

 

master 브랜치에서 파일 생성 및 commit
master 브랜치에서 파일 생성 및 commit

 

master 브랜치에서 파일을 생성하고 commit을 했다.

 

b-branch 브랜치 생성 및 파일 수정

 

b-branch 브랜치 생성 및 파일 수정
b-branch 브랜치 생성 및 파일 수정

 

b-branch 브랜치에서 파일 수정
b-branch 브랜치에서 파일 수정

 

b-branch를 생성하고 파일에 hello 메시지를 추가해서 파일을 수정하고 commit을 했다.

 

master 브랜치 이동 및 파일 수정

 

master 브랜치 이동 및 파일 수정
master 브랜치 이동 및 파일 수정

 

master 브랜치에서 파일 수정
master 브랜치에서 파일 수정

 

master 브랜치로 이동해서 hello world를 추가해서 파일을 수정하고 commit을 했다.

 

브랜치 충돌 수정 및 병합

 

브랜치 충돌 수정 및 병합
브랜치 충돌 수정 및 병합

 

충돌 상태
충돌 상태

 

충돌 해결
충돌 해결

 

git log
git log

 

master 브랜치와 b-branch가 똑같은 파일을 수정했기 때문에 충돌이 발생했고 에디터가 vscode면 더 쉽게 수정할 수 있는데 Accept Current Change를 선택하면 =====를 기준으로 위쪽 내용이 적용이 되고 Accept Incoming Change를 선택하면 아래쪽 내용이 적용이 되고 Accept Both Changes를 선택하면 양쪽내용을 모두 적용시켜 준다. Compare Changes를 선택하면 서로의 차이점을 알 수 있다. Accept Current Change를 선택해서 위쪽내용을 적용시켰다. 충돌을 해결하고 staging area에 추가를 하고 commit을 해주면 병합을 완료할 수 있다.

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

git diff HEAD 명령어  (0) 2023.01.25
git diff 명령어  (0) 2023.01.24
git ort strategy로 병합하기  (0) 2023.01.22
git fast forward merge로 병합하기  (0) 2023.01.21
git 브랜치 삭제 및 이름 바꾸기  (0) 2023.01.20

댓글