Git용 SourceGear DiffMerge 도구 설정

John Wachira 2023년1월30일
  1. Windows에서 DiffMerge 설정
  2. Mac OS에서 DiffMerge 설정
  3. Ubuntu에서 DiffMerge 설정
Git용 SourceGear DiffMerge 도구 설정

이 기사에서는 SourceGear의 DiffMerge를 기본 difftool로 사용하도록 Git을 구성하는 방법에 대해 설명합니다. 이 도구를 사용하면 Git의 기본 difftool에 비해 향상된 시각적 효과로 병합 충돌을 쉽게 이해할 수 있습니다.

3방향 파일 비교를 지원하므로 3방향 병합에 이상적인 도구입니다.

파일의 이전 상태, 현재 상태, 병합 후 결과를 볼 수 있습니다. SourceGear의 공식 웹사이트에서 DiffMerge를 다운로드하여 설치해야 합니다.

Windows에서 DiffMerge 설정

기본적으로 DiffMerge 도구를 사용하도록 Git을 설정하려면 이를 .gitconfig 파일에 추가합니다.

 [diff]
     tool = DiffMerge
 [difftool "DiffMerge"]
     cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' "$LOCAL" "$REMOTE"
 [merge]
     tool = DiffMerge
 [mergetool "DiffMerge"]
     cmd = 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result="$PWD/$MERGED" "$PWD/$LOCAL" "$PWD/$BASE" "$PWD/$REMOTE"
     trustExitCode = true
 [mergetool]
     keepBackup = false

비교 인수 매개변수의 경우 다음이 있습니다.

  1. 원본 파일인 $LOCAL.
  2. 수정된 파일인 $REMOTE.

Git Bash에서 git difftoolgit mergetool 명령을 실행하여 DiffMerge를 열 수 있습니다.

또는 명령 프롬프트에서 아래 명령을 실행하여 .gitconfig 파일을 업데이트할 수 있습니다.

C:\> git config --global diff.tool diffmerge
C:\> git config --global difftool.diffmerge.cmd
    "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
        \"$LOCAL\" \"$REMOTE\""

C:\> git config --global merge.tool diffmerge
C:\> git config --global mergetool.diffmerge.trustExitCode true
C:\> git config --global mergetool.diffmerge.cmd
    "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe
        -merge -result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\""

Mac OS에서 DiffMerge 설정

Mac OS에서 DiffMerge를 사용하도록 Git을 구성하는 프로세스는 아마도 가장 간단할 것입니다. 아래 디렉토리가 있는지 확인하십시오.

/usr/local/bin/diffmerge

아래 명령을 실행하여 .gitconfig 파일을 업데이트하고 테스트하십시오.

git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd "/usr/local/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/local/bin/diffmerge --nosplash \"\$LOCAL\" \"\$REMOTE\""

git config --global -e 명령을 실행하여 .gitconfig 파일을 검사할 수 있습니다. 다음과 같이 표시되어야 합니다.

[diff]
	tool = diffmerge

[merge]
	tool = diffmerge

...

[mergetool "diffmerge"]
	cmd = /usr/local/bin/diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
	trustExitCode = true
[mergetool]
	keepBackup = false
[difftool "diffmerge"]
	cmd = /usr/local/bin/diffmerge --nosplash \"$LOCAL\" \"$REMOTE\"

Ubuntu에서 DiffMerge 설정

Ubuntu에서 구성하는 것은 Mac OS와 매우 유사합니다. 동일한 명령을 사용하지만 설치 위치를 변경합니다.

다음은 명령입니다.

git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd "/usr/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/bin/diffmerge --nosplash \"\$LOCAL\" \"\$REMOTE\""

그 정도입니다. 이제 아래 명령을 실행하여 테스트할 수 있습니다.

$ git mergetool
$ git difftool

요약하자면, SourceGear의 DiffMerge 도구를 사용하도록 Git을 구성하려면 운영 체제에 따라 나열된 명령으로 .gitconfig 파일을 업데이트해야 합니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Diff