3

Git で DiffMerge を difftool として構成しようとしていますが、運がありません。これは私の.gitconfigファイルの敬虔なセクションです (表示されていないその他の設定はユーザー向けです)。

[diff]
        tool = diffmerge
[difftool "diffmerge"]
        cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" \"$LOCAL\" \"$REMOTE\"

powershell コマンド ラインから呼び出すとgit difftool、意図した diffmerge ではなく、powershell インターフェイスのすぐ下に競合が表示されます。グローバル構成を調べると、構成ファイルから設定が与えられるため、設定が git によって取得されていることはわかっています。

git config --global --get-all difftool.diffmerge.cmd
"C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe" "$LOCAL" "$REMOTE"

git bash ではなく、powershell を実行しています。これは、git のシェルとして powershell を提供する Windows 用の github をインストールしたためです。そのため、bash を (まだ) インストールする必要はありません。Git のバージョンは 1.7.11.msysgit.0 です。

4

1 に答える 1

8

difftoolとと混同していましたmergetoolmergetool視覚的なインターフェイスで競合を解決し、結果を保存するために使用する必要がありました。difftool違いだけを示します。明確にするために、 git-mergetool-vs-difftoolを参照してください。

このセクションを my に追加し、代わりに powershell コマンド ラインから呼び出しました.gitconfiggit mergetool幸せな日々。

[merge]
    tool = diffmerge
[mergetool "diffmerge"]
    cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
    trustExitCode = true
    keepBackup = false
于 2012-08-29T11:58:48.610 に答える