我正在尝试让 Git 与 DiffMerge 一起使用,而在这周之前我从未使用过它们中的任何一个。对于它的价值,所有这一切都是为了 Ruby on Rails。
我几乎完全按照http://jdonley83.com/blog/setting-up-git-in-windows-with-diffmerge/上的说明进行操作。但是,当我输入“Git Diff”时,命令行没有加载 DiffMerge,而是崩溃了。
所以你不必去重新阅读网站上的说明,该网站基本上说要设置两个文件,调用diffmerge-diff.sh
和diffmerge-diff.sh
编写如下:
diffmerge-diff.sh
#!/bin/sh
path="$1"
old="$2"
new="$5"
"C:/Program Files (x86)/SourceGear/DiffMerge/DiffMerge.exe" "$old" "$new" --title1="Old" --title2="New $path"
和 diffmerge-merge.sh:
#!/bin/sh
localPath="$2"
basePath="$1"
remotePath="$3"
resultPath="$4"
if [ ! -f $basePath ]
then
basePath="c:/Users/Joseph/diffmerge-empty"
fi
"C:/Program Files (x86)/SourceGear/DiffMerge/DiffMerge.exe" --merge --result="$resultPath" "$localPath" "$basePath" "$remotePath" --title1="Mine" --title2="Merged: $4" --title3="Theirs"
而且......同时......我的 .gitconfig 包括这些:
[merge]
tool = diffmerge
[mergetool "diffmerge"]
cmd = "c:/Users/Me/GitConfigFiles/diffmerge-merge.sh" "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
trustExitCode = false
keepBackup = false
[diff]
tool = diffmerge
external = c:/Users/Me/GitConfigFiles/diffmerge-diff.sh
该网站还表示:“您可能需要修改这两个文件中的路径,具体取决于您在系统上安装 DiffMerge 的位置。” 但我不知道他们的意思。
我知道这可能需要消化很多信息,但是有人知道问题可能是什么吗?如果它无法解决,是否有更简单的方法来做到这一点?对于入门级 Git,Diffmerge 是否过于复杂?
谢谢您的支持。