Git, Github

생활코딩 : GIT -6. 브랜치 : 3 way merge, git mergetool 이용하기

식초 2020. 9. 2. 19:07

conflict - 협업할 때, 브랜치 병합할 때 발생한다

 

3 way merge

base를 기준(master)으로 here(branch)와 there(branch)가 파생됐다. 

병합할 때 3 way merge를 쓰는 것이 더 좋다. 더 많은 부분을 자동화해서 병합할 수 있다.

바뀐 부분..을 표시한다? why?

 

 

 

 

 

 

p4Merge (병합 툴) 설치

Diff  : 차이점 비교한다

Merge  : 차이점 비교 + 합치기

 

p4merge git config 구글에 검색한다 > $ git config --global merge.tool p4mergetool 나옴

$ git config --global merge.tool p4mergetool 이라고 입력했을 때 p4Merge 프로그램이 뜨면서 Merge 빈칸을 git이 자동을 채워준다

 

~/.gitconfig   : 홈디렉토리에 있는 숨김 파일, 깃은 이 파일에 적혀 있는 정보로 어떻게 동작할 지 결정한다

cat ~/.gitconfig 입력하면 > [merge] tool = p4mergetool 이라고 써있다. (txt파일 내용임)

$ git config --global difftool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe' 윈도우용 입력한다.

cat ~/.gitconfig 입력하면 > [mergetool "p4mergetool" cmd=~셋팅값~] p4mergetool의 경로가 적혀져 있다.

 

이거다하고 git mergetool  입력하면 화면 뜬다!!!!!

BASE : 공통의 조상

LOCAL : 내가 있는 쪽 (here)

REMOTE  : 다른 이가 있는 쪽 (there)

 

충돌이 난 부분을 주인인 내가 수정해준다. 하나만 남기고 지우거나 콤마로 합치거나. > 저장

 

 

다시 git으로 돌아와서,

git status 해서 확인해보면 > modified: work.txt // work.txt.orig (원본) 보여진다.

rm work.txt.orig  :  각각 내용이 확실하면 orig를 지운다

 

git commit 하면 > 병합 커밋을 만들었다는 내용

 

git log 해서 잘 병합되었는지 최종확인