본문 바로가기
Development/Git

Git - 비교(diff)/병합(merge)을 위한 툴(P4Merge) 설정

by 드로니뚜벅이 2023. 2. 19.

깃에서 파일 작업을 하다 커밋을 할 경우 충돌이 나는 경우가 종종 있습니다. 이럴 때 입맛에 맞는 툴이 있으면 효율적으로 작업을 할 수 있습니다.

VSCode에서도 비교/병합 기능을 제공하지만 P4Merge 툴이 좀 더 직관적인 것 같습니다.

그래서, P4Merge를 설치하고 설정해 보도록 하겠습니다.

 

먼저, 다운로드 페이지에 접속하셔서 본인의 작업 환경에 해당하는 설치파일을 다운로드 받습니다.

URL: https://www.perforce.com/downloads/visual-merge-tool

"DOWNLOAD" 버튼을 누르면 아래와 같은 화면이 뜨는데 "Skip registration"을 클릭하시고 그냥 넘어가셔도 됩니다.

다운로드가 완료되면 ".gitconfig" 파일을 아래와 같이 수정합니다.

$ cd ~/Downloads
$ tar zxvf p4v.tgz
$ sudo mkdir /opt/p4v
$ cd p4v-2018.2.1666551
$ sudo mv * /opt/p4v
$ sudo ln -s /opt/p4v/bin/p4merge /usr/local/bin/p4merge

~/.gitconfig
[color]
    ui = true
    diff = true
    branch = auto
    status = auto
[alias]
  new = checkout -b
  co = checkout
  ci = commit
  cm = commit -m
  cam = commit -am
  ca = commit --amend # careful
  st = status
  br = branch
  lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen--> %cr%Creset by %Cblue%cN <%cE>%Creset' --abbre
v-commit --date=relative
  hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
  type = cat-file -t
  dump = cat-file -p
  s = status --short
  a = !git add . && git status
  au = !git add -u . && git statustus
  aa = !git add . && git add -u . && git status
  ac = !git add . && git commit
  acm = !git add . && git commit -m
  put = push origin HEAD
  get = pull origin HEAD
[merge]
    keepBackup = false;
    tool = p4merge
[mergetool]
    prompt = false
[mergetool "p4merge"]
    cmd = p4merge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
    keepTemporaries = false
    trustExitCode = false
    keepBackup = false
[diff]
    tool = p4merge
[difftool]
    prompt = false
[difftool "p4merge"]
    cmd = p4merge "$LOCAL" "$REMOTE"
    keepTemporaries = false
    trustExitCode = false
    keepBackup = false

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

Windows SSH Key 생성  (0) 2023.08.29
VSCode에서 쓸만한 Git Extensions  (0) 2023.02.27
GitHub - Clone 실행 시 Authentication failed  (0) 2023.02.19
GitHub에 ssh-key 등록하기  (0) 2022.07.26
Git 개념 알아보기  (0) 2022.06.18