
오늘 내용은 이번 프로젝트를 진행하면서
branch를merge받는 과정 중 발생하는
충돌과정을 해결했던 방법을 기록하는 포스트이다.즉, 이 과정대로 진행하면 기본적인 conflict는 해결 가능하다는 것 :)
로컬 master에 branch를 만들어 작업을 진행하고 나서 branch를 git push하고 pull request를 할 때 conflict가 나는 경우가 발생한다.
이런 경우 다른 작업자가 나와 같은 라인을 수정하고, 그 수정한 내역을 master와 먼저 합쳤을 때(merge했을 때) 나한테 나타나는 자연스러운 상황이다.
이런 상황은 충돌된 코드를 수정해줘야 pull request가 가능하다.
해결방법
현재 작업하던 로컬의 브랜치영역에서
git checkout master를 입력하여 master 브랜치로 이동
그리고 git pull origin master를 입력해서
최신 업데이트된 리모트 저장소의 master 브랜치를 나의 로컬 master에 덮어준다.
그리고 나서 git checkout을 통해 충돌났던 브랜치로 다시 이동
이 브랜치와 최신버전의 master 브랜치를 merge 해준다.(로컬에서)
명령어는 git merge master
이 과정을 거치면 리모트에서의 conflict 상황이 로컬에서 재연되는데,
다른 작업자가 수정해놓은 최신버전과 현재 내가 수정한 브랜치가 충돌하는 것이다.
왜 로컬에서 재연시키냐구요? 로컬에서 conflict를 수정해야 하니깐!
이렇게 충돌된 파일이 확인되면, change란에 들어가 수정해주면 된다. 아래는 내 로컬영역에 떴던 conflict 화면이다.

<<<HEAD, >>> master 이런 표식들과 함께 뜬다. master에서 내려온 내용(Incoming Change)!Current Change)!git add, commit, push, pull request하면 해결완료!주의사항
해결을 다하고 pull request를 하기 전에
혹시 다른 사람이 올린게 먼저 업데이트되서 master가 또 먼저 변경된다면
또다시 충돌이 날 수 있으니! 다른 작업자들과의 소통은 필수이다!!!