본문 바로가기

Tool/Git

(GIT) Branch 충돌해결

git branch -d exp : 브랜치 삭제

git branch -D exp : 브랜치 강제 삭제

 


현재 상태

  • branch master
  • master.txt 파일 생성 후 커밋

 

  • exp master
  • exp.txt 파일 생성 후 커밋

현재 branch: master

 

merge 실행

git merge exp

master branch에 exp.txt 생성

아주 이상적인 상황이지만 그러지 않는 상황이 있을 수가 있다.

- 같은 파일을 수정하고 그 파일을 merge 해야 하는 상황을 예로 들 수 있다.


현재 상태

  • exp branch에 common.txt 파일을 생성 후 커밋
  • master branch로 돌아와서 exp branch와 merge 하여 master branch에도 똑같은 common.txt 파일 생성

master branch의 common.txt 파일 수정

exp branch의 common.txt  파일 수정

 

merge 실행

git merge exp 

 

결과

자동으로 합쳐진다.

 


똑같은 부분을 수정해보자

현재 exp branch의 common.txt 상태

 

 

merge 실행

git merge master 

이제 master와 똑같은 상태가 되었다.

 

 

 

현재 branch : master

master의 common 내용을 아래와 같이 수정

exp의 common 내용을 아래와 같이 수정

같은 열의 내용을 수정하였다는 것을 볼 수 있다.

 

master branch에서 merge 실행

git merge exp

 

충돌 발생!

 

 

=========== : 구분자

<<<<<<HEAD : 현재 checkout 한 branch의 수정 사항 (mater의 내용)

>>>>>>EXP : EXP branch의 내용

 

git이 자동으로 merge 하는 것을 실패하였기 때문에 사용자가 merge 할 것을

git이 위임한 것을 말함.

 

 

 

 

 

 

수정

 

 add를 진행하면 이제 commit 할 상태가 되었음을 

볼 수 있음.

 

 

 

git commit 

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

(GIT) Stash  (0) 2019.12.26
(GIT) Branch 병합  (0) 2019.12.25
(GIT) Branch 정보확인  (0) 2019.12.25
(GIT) Branch 만들기  (0) 2019.12.25
(GIT) reset과 checkout의 원리  (0) 2019.12.25