본문 바로가기
협업/Git

Git - 서로 다른 branch에서 같은 파일 수정 시 충돌 오류 해결 방안

by 퐁고 2022. 9. 14.
반응형
git으로 협업을 하다보면 여러 branch들이 생깁니다. 그러다보면 종종 conflict이 일어나는데 그 중 제일 많이 일어나는 충돌이 pull 충돌, 그리고 같은 파일을 수정할 때 일어나는 충돌입니다. 

 

pull 충돌은 저번에 포스팅하였고 오늘은 같은 파일을 수정할 때 충돌 오류 해결 방안에 대해 이야기 해보겠습니다.

 

예제를 만들어 보았습니다.

main branch 와 new branch의 사람은 서로 같은 파일을 수정하는지 모릅니다. 그래서 각자 열심히 수정을 하고 있습니다.

main branch에서 3.txt를 수정합니다.
new branch에서 3.txt를 수정합니다.

 

이렇게 서로 다른 branch에서 파일을 수정한 후 commit을 해준 후 main branch가 작업이 먼저 끝났습니다. 그래서 먼저 push를 한 후 뒤늦게 끝난 new branch에서 push를 해주려할 때 파일이 충돌합니다.

 

💡 해결 방안

깃허브에 접속하여 pull requests에 들어가 수정 파일을 누릅니다.

new branch에서 수정한 파일은 main branch에서 먼저 수정하여 push를 하였기 때문에 push 충돌 메세지가 뜹니다.

 Resolve conflicts를 눌러줍니다.

각 branch에서 수정한 부분들이 나옵니다.

코드를 분석해보면

<<<<< new               -> new branch라는 뜻이고

new 브랜치에서 수정합니다.    -> new branch에서 수정한 내용입니다.

======                  -> 구분을 짓기 위한 선이고,

main 수정합니다.           -> main branch에서 수정한 내용입니다.

>>>>> main              -> main branch라는 뜻입니다.

 

두 브런치 중 괜찮은 코드를 선택에서 남기고 모두 지워줍니다. 그 후 오른쪽 상단에 Mark as resolved를 눌러줍니다.

new branch에서 수정한 부분만 남겨주었습니다.

그럼 Commit merge로 바뀌는데 이 때 버튼을 눌러주면

충돌이 해결되었습니다.

이제 Merge 유형을 원하는대로 선택해 눌러주면

main에서 new로 수정한 부분이 변경되었습니다!

'협업 > Git' 카테고리의 다른 글

git - 커밋 메세지, gitflow  (0) 2024.01.17
Git - 협업 시작하는 법  (1) 2022.10.08
Git - Revert, Reset에 대해서 알아보자  (0) 2022.09.13
Git - 협업 시 오류 현상 해결 방안 (Pull)  (0) 2022.09.13
Git - 시작하기  (2) 2022.09.12

댓글