728x90

 

 

 

master branch 에서 나눗셈을 하는 devide 함수를 추가하겠습니다.

 

 

그런다음 git add . 를 하고 git commit 을 해주겠습니다.

 

그런데 이때 무료버전에 있는 모든 기능은 유료버전에 있어야 한다고 해봅시다.

 

git 에는 어떤 branch 에서 한 commit 을 그대로 다른 branch에서 할수 있는 기능이 있습니다.

 

premium 브랜치로 이동하겠습니다.

 

$git checkout premium

 

 

아직 유료버전엔 devide function 이 없습니다.

 

master branch의 devide function 을 premium branch에도 합쳐보겠습니다.

 

git merge master

 

 

 

하지만 merge 를 할때 문제가 생길 수 도 있습니다.

 

 

 

premium branch에서 devide function의 이름을 다음과 같이 변경하겠습니다.

 

 

git add 와 commit 을 해주겠습니다.

 

master branch로 이동하겠습니다.

 

 

master branch 에서는 devide의 이름을 다음과 같이 변경하겠습니다.

 

 

다시 premium branch로 이동하겠습니다.

 

이상태에서 master branch를 merge 해보겠습니다.

 

 

처음 보는 문구가 생겼습니다.

 

CONFLICT Error: add.js 가 merge 를 하다가 충돌이 발생했습니다.

 

 

 

해당 코드를 vscode 에서 열어보니 처음보는 코드가 생겼습니다.

 

head 부분의 premium 과 master 부분의 free 부분이 달라서 git 의 입장에서는 둘중 어느것을 반영해야 할지 몰라서 error 를 발생시켰습니다. 이런걸 conflict 라고 합니다.

 

이걸 해결해보겠습니다.

 

devide_premium 을 아예 새롭게 devide_new라고 수정하겠습니다.

 

 

 

화살표 부분을 다 지운뒤 다음과 같이 수정 하신뒤 commit을 해주면 됩니다.

 

conflict 를 해결하고 commit을 해주면 다음과 같은 문장이 자동으로 생성됩니다.

 

 

 

 

커밋 메세지를 수정하셔도 되고 그대로 쓰셔도 됩니다.

 

저는 그대로 쓴뒤 커밋을 했습니다. 

 

 

log 를 확인해본결과 정상적으로 merge 가 되었습니다.

 

merge를 하다보면 confilct는 상당히 자주 발생합니다. 당황하지마시고 해당 branch에 해당하는 내용으로 수정하신뒤 add 와 commit 을 하시면 됩니다.

 

 

 

하지만 꼭 conflict 를 해결 하고 commit 하지않고 merge 전으로 돌아가는 방법도 있습니다.

 

 

 

 

728x90

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

master 브랜치와 premium 브랜치 둘다 push하기  (0) 2021.02.27
branch 다뤄보기  (0) 2021.02.27
branch란?  (0) 2021.02.27
커밋에 tag 달그  (0) 2021.02.27
이전 커밋으로 git reset 하기  (0) 2021.02.26