如何使用Git扩展配置Araxis合并/差异?
我试图用"Git Extensions"
配置Araxis merge
工具,但没有找到任何帮助,所有链接或搜索都只指向Git(使用shell)。由于Git Extensions是GUI工具,它有一个选项(在全局设置中)可以为merge
和diff
等配置不同的工具。
从difftool
下拉列表中,我选择Araxis
,它会自动选择安装位置的正确路径
C:/Program Files (x86)/Araxis/Araxis Merge/AraxisGitDiff.exe
从mergetool
下拉
C:/Program Files (x86)/Araxis/Araxis Merge/AraxisGitMerge.exe
然而,它们中的每一个都有一个额外的文本框,其中包含difftool命令和mergetool命令,我在中尝试了以下命令
AraxisGitDiff.exe $1 $2
请记住,上面的命令将替换从Git扩展中选择的1和2,当我右键点击一个文件并选择选项"Open with difftool"
->"A <-> B "
时,屏幕上什么都不会出现
类似于
AraxisGitDiff.exe $LOCAL $REMOTE
不起作用
我清空了这个文件,我看到了以下错误。
---------------------------
Araxis Merge Command Line Compare Utility v7.0
---------------------------
Usage:
araxisgitdiff [/? | /h] <path> <old-file> <old-hex> <old-mode> <new-file> <new-hex> <new-mode>
---------------------------
OK
---------------------------
我使用的设置是:
Mergetool
-AraxisPath to mergetool
-C:Program FilesAraxisAraxis MergeCompare.exe
-
Mergetool command
-/merge /wait /a2 /3 "$LOCAL" "$BASE" "$REMOTE" "$MERGED"
-
Difftool
-轴 Path to difftool
-C:Program FilesAraxisAraxis MergeCompare.exe
Difftool command
-留空
合并时,左窗格将是本地文件,右窗格将是远程文件。中心窗格包含基本文件(或公共祖先),您必须合并到此文件/窗格中。
更新-2018-02-19
似乎较新版本的GitExtensions可能无法使用上述设置。下面的更改应该可以解决任何问题。
Mergetool
-阿轴Path to mergetool
-"C:Program FilesAraxisAraxis MergeCompare.exe"
-
Mergetool command
--merge -max -wait -a2 -3 "$LOCAL" "$BASE" "$REMOTE" "$MERGED"
-
Difftool
-轴 Path to difftool
-"C:Program FilesAraxisAraxis MergeCompare.exe"
Difftool command
--max -2 -wait "$LOCAL" "$REMOTE"
请注意,现在工具的路径周围有双引号。
以下步骤已经用Git Extensions v2.47.3进行了测试。
使用Araxis Merge进行文件比较和文件合并:
-
在Git Extensions浏览器中,从"工具"菜单中选择"设置"。
-
在"设置"窗口中,从左侧的树中选择"全局设置"。
-
在"合并工具"下拉字段中,选择"Araxis"。
-
在Path to mergetool字段中,输入以下内容:
C:/Program Files/Araxis/Araxis Merge/Compare.exe
-
在Difftool下拉字段中,选择araxis。
-
在Path to difftool字段中,输入以下内容:
C:/Program Files/Araxis/Araxis Merge/Compare.exe
:源
基于Wade的回答,我最终将Araxis文件夹(包含Merge.exe
)添加到PATH
中,然后在我的.gitconfig
:中使用它
[diff]
tool = araxis
[difftool]
prompt = false
[difftool "araxis"]
cmd = merge $LOCAL $REMOTE
我遇到了同样的问题,并通过从kdiff3复制模式设法找到了一个可行的解决方案。这似乎适用于Araxis 2010和可能的大多数后续版本
Mergetool
Araxis
Path to mergetool
C:/Program Files/Araxis/Araxis Merge/Merge.exe
Mergetool command
"C:/Program Files/Araxis/Araxis Merge/Merge.exe" "$LOCAL" "$REMOTE" "$MERGED$"
Difftool
Araxis
Path to difftool
C:/Program Files/Araxis/Araxis Merge/Merge.exe
Diftool command
"C:/Program Files/Araxis/Araxis Merge/Merge.exe" "$LOCAL" "$REMOTE"