🔐 0. p4Merge

지금까지의 실습에서는 merge의 충돌을 처리할 때 직접 nano를 사용하여 에디터 상에서 구분선 지우고, <<,>>를 지우고 충돌을 처리했다면, 조금더 유연하고 명확하게 외부도구를 사용해서 merge의 충돌을 제어할 수 있다.

앞서 3 way merge실습 예제에서

git-merge_3

git mergetool를 입력하면 무슨 툴을 사용할꺼냐 물어보는데 나는 p4merge라는 툴을 사용했다.

P4Merge 툴 설치

여기서 설치하게 되면 C:\Program Files\Perforce경로로 설치가 되는데 이 경로를 cmd상에 입력하여 merge툴로 설정해야한다.

이러한 설정 방법은 구글링 통해 직접 알아보는 습관을 들여야 한다.


$ git config --global merge.tool p4merge
$ git config --global mergetool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe

첫 번째는 .git안에 있는 config라는 기본 설정파일(블로그를 만들 때 많이 봤던 config.yml같이 기본적인 세팅, 설정을 모아두는 곳)에 merge tool을 p4merge로 등록한 뒤

두 번째로 경로를 설정해준다.

여기서 –global은 앞에서도 사용했지만 이 디렉토리만이 아니라 앞으로 사용하는 git 전체 즉, 전역으로 설정하겠다 는 의미이다.

설정 후 다시 git mergetool을 입력하면 바로 p4merge툴이 뜨게 된다..!

git-merge_3

왼쪽은 설정 후 p4merge tool을 요청한 하면 이고 오른쪽은 p4merge tool실행 화면이다.

  • 툴에는 정말 착하게..왼쪽(remote병합하게 되는), 가운데(base부모가 되는), 오른쪽(local현재 branch)가 뜨게 되고 3 way merge에 맞게 출력 되어 아래 work.txt파일로 정리가 된다 친철하게 위에 그림까지 그려준다 ㅋ…

발생한 conflicts는 한개이며 빨간색 처리로 위치를 표시해준다. 해당 충돌을 해결하고 저장 후 창을 닫으면 자동으로 cmd상에서 add까지 해준다.

git status로 상태를 출력해보면 work.txt파일을 제외한 백업파일이 생기는데 이는 지워주고 git commit을 실행하면 merge된 버전을 새로 만들어 준다.

시작하기 전엔 git이 상당히 불친철하다고 느꼈는데 조금 익숙해지고 나서는 많이 친절하다는 걸 알 수 있다..

git-merge_3

버전이 생성된 모습.

merge 말고도 diff(비교)툴로도 설정 할 수 있다!
이에 대한 글을 정리해둔 github주소이다.

merge, diff툴 적용 방법


✍️ GIT & 터미널 & 리눅스 용어 정리

  1. git config –global ‘merge.tool’: config파일에 접근하여 내용을 수정하거나 추가, 현재는 merge.tool을 추가 함 merge.tool p4merge -> merge.tool을 p4merge로 설정 ++diff.tool p4merge diff툴 설정

https://opentutorials.org/course/3837 많은 도움을 받은 생활코딩입니다.

공부 정리내용은 생활코딩 및 구글링을 통한 내용을 정리하였습니다.

태그: ,

카테고리:

업데이트:

댓글남기기