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
비교 인수 매개변수의 경우 다음이 있습니다.
- 원본 파일인
$LOCAL
. - 수정된 파일인
$REMOTE
.
Git Bash에서 git difftool
및 git 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 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