출처: http://www.davesquared.net/2009/02/setting-up-diff-and-merge-tools-for-git.html
diff / merge 툴 설치
원하는 diff/merge tool을 설치합니다. 여기서는 DiffMerge를 사용했습니다.
DiffMerge.exe는 http://www.sourcegear.com/diffmerge/ 에서 구할수 있습니다.
프로그램 설치 경로는 알아서 하시면 됩니다.
원문대로 하면 공백문자를 인식하지 못하므로,
git-diff-wrapper.sh를 읽기 위해 환경변수의 PATH에 C:\Program Files\Git\cmd 경로를 추가하도록 합시다.
(참고. Git 바로가기 설정: C:\WINDOWS\system32\cmd.exe /c ""C:\Program Files\Git\bin\sh.exe" --login -i")
diff 툴 설정
C:\Program Files\Git\cmd 폴더에 git-diff-wrapper.sh 파일을 만들고 다음 내용을 적습니다.
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"C:/Program Files/SourceGear/DiffMerge/DiffMerge.exe" "$2" "$5" | cat
#"C:/Program Files/WinMerge/WinMergeU.exe" "$2" "$5" | cat
#"C:/Program Files/KDiff3/kdiff3.exe" "$2" "$5" | cat
그 다음 git 환경을 다음과 같이 설정합니다.
여기에서는 C:\Documents and Settings\Administrator\.gitconfig 파일을 직접 수정합니다.
[diff]
external = git-diff-wrapper.sh
이제 diff를 확인하기 위해 git diff 를 실행해 봅니다.
mergetool 툴 설정
마찬가지로 C:\Program Files\Git\cmd 폴더에 git-merge-diffmerge-wrapper.sh 파일을 만들고 다음 내용을 적습니다.
#!/bin/sh
# Passing the following parameters to mergetool:
# local base remote merge_result"C:/Program Files/SourceGear/DiffMerge/DiffMerge.exe" "$1" "$2" "$3" --result="$4" --title1="Mine" --title2="Merging to: $4" --title3="Theirs"
그 다음 git 환경을 다음과 같이 설정합니다.
여기에서는 C:\Documents and Settings\Administrator\.gitconfig 파일을 직접 수정한다.
[merge]
tool = diffmerge
[mergetool "diffmerge"]
cmd = git-merge-diffmerge-wrapper.sh "$PWD/$LOCAL" "$PWD/$BASE" "$PWD/$REMOTE" "$PWD/$MERGED"
trustExitCode = false
keepBackup = false
[mergetool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
keepBackup = false
trustExitCode = false
이제 git mergetool 을 실행해 봅니다.
잘 되죠? :)
혹시나 실행해도 아무 반응이 없으신 분들은 log를 보시고
git diff 18f822e 와 같이 실행해 보시거나
CONFLICT를 일으킨 상태에서 해 보세요
'Tips > GIT' 카테고리의 다른 글
[리눅스] git 명령어 tab으로 완성하기 (0) | 2020.03.11 |
---|---|
Windows GIT (msys GIT)에서 Clone 에러 - Protocol https not supported or disabled in libcurl (0) | 2014.02.02 |
[스크랩] Redmine과 GIT의 연동 (0) | 2013.02.24 |
[Git] 형상관리 하지 않을 파일 설정 (0) | 2013.02.24 |
[Git] 우분투에 Git 최신 버전 설치 (0) | 2013.02.24 |