반응형
git으로 협업을 하다보면 여러 branch들이 생깁니다. 그러다보면 종종 conflict이 일어나는데 그 중 제일 많이 일어나는 충돌이 pull 충돌, 그리고 같은 파일을 수정할 때 일어나는 충돌입니다.
pull 충돌은 저번에 포스팅하였고 오늘은 같은 파일을 수정할 때 충돌 오류 해결 방안에 대해 이야기 해보겠습니다.
예제를 만들어 보았습니다.
main branch 와 new branch의 사람은 서로 같은 파일을 수정하는지 모릅니다. 그래서 각자 열심히 수정을 하고 있습니다.
이렇게 서로 다른 branch에서 파일을 수정한 후 commit을 해준 후 main branch가 작업이 먼저 끝났습니다. 그래서 먼저 push를 한 후 뒤늦게 끝난 new branch에서 push를 해주려할 때 파일이 충돌합니다.
💡 해결 방안
깃허브에 접속하여 pull requests에 들어가 수정 파일을 누릅니다.
Resolve conflicts를 눌러줍니다.
코드를 분석해보면
<<<<< new -> new branch라는 뜻이고
new 브랜치에서 수정합니다. -> new branch에서 수정한 내용입니다.
====== -> 구분을 짓기 위한 선이고,
main 수정합니다. -> main branch에서 수정한 내용입니다.
>>>>> main -> main branch라는 뜻입니다.
두 브런치 중 괜찮은 코드를 선택에서 남기고 모두 지워줍니다. 그 후 오른쪽 상단에 Mark as resolved를 눌러줍니다.
그럼 Commit merge로 바뀌는데 이 때 버튼을 눌러주면
이제 Merge 유형을 원하는대로 선택해 눌러주면
'협업 > 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 |
댓글