git 에서 git flow를 따라 main(master)을 기준으로 기능별 feature branch를 만들고 작업을 하다보면, pull request 할 때 conflict(충돌)가 나는 경우가 있습니다.
원인은 master에 다른 작업자의 PR이 main 와 합쳤을때(merge) 나의 로컬의 master와 상태가 달라 발생합니다.
이렇게 되면 충돌된 코드를 수정해줘야 pull request를 성공적으로 할 수 있습니다.
해결방법은 이렇습니다.
- git checkout main해서 main 브랜치로 이동합니다. 그리고 git pull origin main를 해서 최신 업데이트된 리모트 저장소의 main 브랜치를 나의 로컬 main에 엎어줍니다.
-
- git checkout을 통해 충돌났던 브랜치로 이동하고, 이 브랜치와 최신버전의 로컬 master 브랜치를 merge 해줍니다. 명령어는 git merge main 입니다. 이 과정을 거치면, pull request를 했을 때 충돌이 났던 상황이 재연됩니다. 다른 작업자가 수정해놓은 최신버전과 현재 내가 수정한 branch가 충돌하는거죠.
-
- 충돌된 파일이 확인되면, 편집창에 들어가 해당 파일을 수정하면 됩니다.