1

我正在尝试让 Git 与 DiffMerge 一起使用,而在这周之前我从未使用过它们中的任何一个。对于它的价值,所有这一切都是为了 Ruby on Rails。

我几乎完全按照http://jdonley83.com/blog/setting-up-git-in-windows-with-diffmerge/上的说明进行操作。但是,当我输入“Git Diff”时,命令行没有加载 DiffMerge,而是崩溃了。

所以你不必去重新阅读网站上的说明,该网站基本上说要设置两个文件,调用diffmerge-diff.shdiffmerge-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 是否过于复杂?

谢谢您的支持。

4

1 回答 1

0

“命令行只是崩溃”是什么意思?我从未见过命令行崩溃。

你不需要任何 difftool 来使用 git。git diff很好。您需要一个用于 3 路合并的好工具,但这是一个不同的主题。

于 2013-01-25T04:01:42.787 回答