해당 branch의 내용에 문제가 없을 때 merge가 되었는데
이렇게 merge된 remote master branch 의 내용을
내 local master branch 로 pull 하고
feature/Main (현재 작업중인 branch) 로 이동해서 다시
git merge master 명령어를 통해 새로 변경된 master branch 내용을 합치면
conflict가 발생하는데 PR 페이지에서 아래처럼 두 개 모두 빨간색 x 로 되어있는게 아니라 conflict가 어느 파일에서 발생했다고 뜬다
이후에 conflict 나면 다시 이미지 첨부하려고 한다
지금 이 이미지는 merge될 때 conflict된게 없다는 뜻이다
그래서 vscode 에디터로 어느 부분이 conflict되었나 확인하면
위에서 세번째로 있는 빛나는 부분 곳에 !
표시가 뜨는데
그 부분에 새로 변경된 remote master 의 내용과
내가 지금 작업하는 feature branch에 가지고 있는 내용이 충돌되는 것을 확인할 수 있다
<<<< HEAD (Current Change)
먼저 HEAD (Current Change) 라고 되어있는 상단
의 부분은 현재 내가 작업하는 feature branch에서 가지고 있는 코드 정보이고
>>>>> master (Incoming Change)
master (Incoming Change) 라고 되어있는 하단
의 부분은 새로 수정된 remote master 에서 pull 하고 merge한 내용이다
상단의 버튼? 을 선택할 수 있는데
<<< HEAD
, ===
, > master
코드 부분을 모두 삭제하면 자동으로 Accept Both Changes 옵션으로 두가지 모두 가져오게 된다이번에 나는 3번 Accept Both Changes
방법을 통해
변경된 master 내용과 내가 feature branch에서 가지고 있는 내용을 비교해서
중복된 내용 및 필요없는 내용(=삭제하고 싶은 내용)은 삭제하고 최종적으로 가지고 갈 내용만 남겼다
git add .
git add Routes.js
처럼 해당하는 폴더명으로 적어도 된다!
dit(.)
은 전체 변경된 내용 모두 add 한다는 뜻이다
git commit -m "Fix : conflict resolve"
한번은 이렇게 commit 했는데 터미널에 >bquote
로 떴다
bquote 해결한 분의 블로그 를 보니
npm start 하고 탈출할 때처럼 ctrl
+ C
를 하거나
exit()
명령어를 입력하면 탈출할 수 있다고 한다
>bquote
가 생성되는 이유는 아직 모른다...!
탈출하면 별 문제 없이 push 명령어를 입력해주면 된다
git push origin feature/Main
내가 작업하던 branch에서 merge 했을 때 conflict난 것이고
내가 현재 위치하는 feature branch 에서 push하기 때문에
위 처럼 origin feature branch 로 push 하면 된다
conflict를 해결하고 해당 feature branch 를 PR를 올리면
github repository의 관리자? (결정권이 있는 assignee) 이 merge를 해주면 끝이다!!
이후에 모든 내용이 merge되고 초기설정 세팅하는 것 처럼 하나의 컴퓨터에서 전체내용 둘러보고 수정할 거 있으면 한번에 수정하고 배포할 준비하면 된다고 한다