我正在尝试使用Araxis Merge作为MSYSGit的差异/merge 工具。
我在网上发现了一些资源:

  • Araxis site上,他们提到了一种“简便”的方法,但是它暗含了不是我发行版一部分的可执行文件(araxisgitdiff.exe和araxisgitmerge.exe)。
  • 我还在gitguru中找到了一些信息,但实际信息是:Araxis充其量是稀疏的,我无法从中获得任何 yield 。
  • 最后,有一些有关较旧stackoverflow post的信息,但建议的方法对我不起作用。该特定信息适用于OSX。我尽可能地“翻译”为Windows,但没有成功:

  • 我创建了/bin/git-diff-driver.sh
    #!/bin/sh
    
    "/c/Program Files/Araxis/Araxis Merge/compare.exe" -title1:"$1 (repo version)" -title2:"$1 " -max "$2" "$5"
    
    和编辑的gitconfig
    [merge]
        tool = araxismerge
    [mergetool "araxismerge"]
        cmd = "/c/Program Files/Araxis/Araxis Merge/compare.exe" -3 -merge -wait $LOCAL $BASE $REMOTE $MERGED
    [diff]
        external = "/bin/git-diff-driver.sh"
    
    我得到的唯一结果是:


    编辑:
    我也尝试使用答案之一建议的名为"c:/Program Files/Araxis/Araxis Merge/compare.exe"的exe,结果相同。

    编辑:
    我发现,如果您使用TortoiseGit,则可以轻松设置它,但是它似乎可以单独处理diff,并且从命令行调用diff时,TortoiseGit的任何设置都没有指示如何将Araxis设置为 merge 工具。

    编辑:
    因此,问题是:是否有人成功使用Araxis Merge来与MSYSGit进行差异化和 merge ,如果这样,您如何?

    最佳答案

    如果您想始终使用“git diff”,可以使用帮助文件中的说明,但是,如果您希望像通常在命令行中那样使用“git diff”来控制,请使用“git difftool” Araxis GUI。

    尝试将以下内容添加到您的git配置中:

    [difftool "araxis"]
        path = "/c/Program Files/Araxis/Araxis Merge/compare.exe"
        renames = true
        trustExitCode = true
    [diff]
        tool = araxis
        stat = true
    [mergetool "araxismergetool"]
        cmd = 'C:\\Program Files\\Araxis\\Araxis Merge\\araxisgitmerge.exe' "$REMOTE" "$BASE" "$PWD/$LOCAL" "$PWD/$MERGED"
        trustExitCode = false
    [mergetool]
        keepBackup = false
    [merge]
        tool = araxismergetool
        stat = true
    

    08-17 12:35