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 해서 잘 병합되었는지 최종확인
'Git, Github' 카테고리의 다른 글
생활코딩 : GIT -8.백업, 오류;;;;; (0) | 2020.09.03 |
---|---|
생활코딩 : GIT -7. 브랜치 심화 (0) | 2020.09.02 |
생활코딩 : GIT -5. 브랜치 : merge, conflict (0) | 2020.09.02 |
생활코딩 : GIT -4. 브랜치 사용법 (0) | 2020.09.02 |
생활코딩 : GIT -3. 버전관리 : reset, revert (0) | 2020.09.02 |