[Git][4]Conflict 해결
Programming/Git

[Git][4]Conflict 해결

아래 사이트들을 참고했습니다.

 

https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98%EC%99%80-Merge-%EC%9D%98-%EA%B8%B0%EC%B4%88#_basic_merge_conflicts

 

Git - 브랜치와 Merge 의 기초

Merge 시에 발생한 충돌을 다루는 더 어렵고 요상한 내용은 뒤에 고급 Merge 에서 다루기로 한다.

git-scm.com

https://velog.io/@ha0kim/GIT-conflict-%EC%8B%9C-%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

[ GIT ] conflict 시 해결하는 방법

Git 에서 Conflict 이란?개발자들이 각 feature을 따서 작업을 하고 master branch에 merge를 하게된다.merge 과정에서 파일의 이름이 같으면 충돌이 발생한다.파일이 다르면 무조건 자동으로 합쳐준다.파일

velog.io

https://jeong-pro.tistory.com/106

 

Git merge (브랜치 병합하기 + 충돌 제거하기)

Git merge (브랜치 병합) 하는 방법 Git을 버전관리시스템으로 두고 같이 협업하는 과정에서 브랜치를 만들어서 각자 개발을 했다면, 언젠가는 소스코드를 합쳐서 테스트도 해보고 시스템에 적용

jeong-pro.tistory.com

https://velog.io/@devmin/git-conflict-solution-basic

 

git - conflict(충돌) 처리법

git 에서 master의 branch를 만들고 작업을 하다보면, pull request 할 때 conflict(충돌)가 나는 경우가 있습니다. 어떻게 해결하면 될까요?

velog.io

 

 

git merge를 하는 과정에서

아래와 같이 충돌이 발생했습니다.

 

 

충돌이 발생하면서 위에서 어떤 파일에서 충돌되었는지 알려줍니다.

 

여기서는 auto merged가 되지 않기 때문에 우리가 직접 알려준 파일을 선택해서

fix 해줘야 합니다!!

 

아래처럼 branch를 이동을 하려고 해도 fix먼저 하라고 합니다.

 

그래서 git status로 상황을 확인해보면, merged가 된 것과

unmerged, 즉 merged 되지 않은 파일을 아래에서 보여줍니다!

 

 

친절하게 paths 도 알려주네요!

 

이런 경우 직접 위의 path를 들어가서 직접 파일을 들여다봐야 합니다.

 

 

와.. 아래처럼, 고쳐야 되는 것은 친절하게 빨간색으로 ! 모양을 tool에서 표시해주네요.

그리고 새로 추가된 것초록색+ 모양으로 보여줍니다.

 

 

들어가 보면!

 

<<<<<<HEAD

master안의 코드

======

 

새롭게 추가할 lee안의 코드

 

>>>>>>lee

 

안에 아래처럼 코드가 있는 것을 확인할 수 있습니다.

 

 

바로 저부분을 수정해달라는 겁니다.

 

여기서는 아마, master의 형상에서는 저쪽 번 줄에는 lee 코드가 없는 것이죠.

 

master에서 lee branch 코드를 합치는 것이기 때문에

master에서 63~66번 줄은 다른 줄이 있는데

(<<HEAD와 ===사이에 아무 코드가 없음),

lee에서는 63~66번 줄에 새롭게 추가하여 부분이라서 형상이 충돌합니다!!

 

이런 경우에서는 우리가 구현하고자 하는 기능을 추가해야 하기 때문에

lee의 코드를 사용하면 됩니다.

 

 

이제 아래처럼 수정을 하고

 

 

git merge --continue로 계속하려 하자 

아직 그대로 라네요.

 

바로, 수정을 안 하고 git add를 안 해서 그렇습니다.

git add .이후

(git add src/main..... jsp)

(이럴 경우에는 unmerged 된 파일만 잡아도 된다, 그게 변경사항을 최소화시킨다) 

 

git merge --continue를 하자

 

 

아래와 같이 merge 하는 vim으로 이동됩니다.

 

 

git loglog를 확인하면

commit이 된 것을 확인할 수 있습니다.

 

 

git push origin master로 지금 형상을 push 하면 끝!

 

 

merge가 잘된 모습

 

 


 

'Programming > Git' 카테고리의 다른 글

[Git][3]Merge하기  (0) 2021.08.12
[Git][2]Github연결  (0) 2021.07.04
[Git][1]Git  (0) 2021.07.04