git

git merge conflict 해결해보기(merge충돌)

노엠디엔 2022. 11. 9. 21:05

강의 영상에서 에러를 안 내는 게 중요한 게 아니라 버그(컴퓨터가 의도한 대로 동작하지 않는 것)를 고칠 수 있느냐 없느냐가 중요하다고 하였다!

 

그래서 merge충돌을 일으키고 해결해보기로 하였다.

sourcetree 히스토리 상황

사진과 같이 feature라는 파일에 jeon과 rtan_jeon이라는 서로 다른 브랜치가 있다.

두 개의 브런치에서는 전에 대한 파일을  작업한다는 가정이다.

첫 번째 merge로 jeon이라는 브랜치를 main에서 병합을 시도했을 때는 문제가 발생하지 않았다.

하지만

rtan_jeond이라는 브랜치를 main에서 병합하려고 했을때 다음과 같이 문구가 나왔다.

 

확인을 누르니 

사지과 같이 커밋메시지에는 충돌에 대한 내용과 오른쪽에는 해당 파일의 충돌되는 부분에 이상한 화살표와 head라는 문구가 적혀있다.

 

<<<<<<< 에서 >>>>>>> 까지가 충돌이 나는 부분이고. 하나의 파일을 여러 군데에서 변경했기 때문에 변경된 내용 중 어떤 것을 브랜치에 반영할지 파악을 돕기 위해 정보를 알려주고 있는 거라고 한다.

<<<<<<< HEAD , ======= , >>>>>>> 충돌나는 브랜 치명 또는 commmit 아이디를 지우면 됩니다. 그러면 Git 이 해결되었구나! 하고 알아듣는다고 한다.

그래서 저 부분을 수정후에 커밋 버튼을 누르니 충돌을 해결한 후 병합을 성공적으로 해 커밋이 되었다.