1

私たちは自分のプロジェクトで git に移行しましたが、今では比較にならないほどうまく動作するようにしたいと考えています。scootersoftware ページの指示を読みました。私は両方の選択肢を試しましたが、今は.gitconfigでこれを使用して古いものを使用しています:

[diff]
    tool = bc3
[difftool "bc3"]
    path = "\"c:/program files/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\""

それは私が期待するようには機能しません。これにより、必要に応じて比較ツールが開きますが、何らかの理由で、上部に 3 つのウィンドウ、下部に 1 つのウィンドウがあるマージ モードに入ります。何か案は?

4

2 に答える 2

0

あなたのケースが私のケースと同じかどうかはわかりませんが、同様の問題がありましたが、.gitconfig にもあったマージ設定が原因でした

私の設定には次のような行が含まれていました

[merge]
tool = BeyondCompare3

[diff]
guitool = BeyondCompare3

[difftool "BeyondCompare3"]
path = C:/Program Files (x86)/Beyond Compare 3/BComp.exe
cmd = \"C:/Program Files (x86)/Beyond Compare 3/BComp.exe\" \"$LOCAL\" \"$REMOTE\"

[mergetool "BeyondCompare3"]
path = C:/Program Files (x86)/Beyond Compare 3/bcomp.exe
cmd = \"C:/Program Files (x86)/Beyond Compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" 

どうやら、git は前者ではなく後者のオプション (4 つのパラメーター) を使用しているようです。

回避策は、mergetool の名前を

[mergetool "BeyondCompare3"]

[mergetool "MergeBeyondCompare3"]

これは、2 つのパラメーターを持つ difftool バージョンを使用することを意味します。

最初のセクションを次のように変更することもできるはずです。

[merge]
tool = MergeBeyondCompare3

しかし、それを行うと、コマンドgit difftool file1.txt file2.txtは diff ではなく Merge を使用し、元の場所に戻ります。

-t MergeBeyondCompare3欠点は、実際にマージを使用する場合は、コマンド ライン オプションを使用する必要があることです。

于 2013-07-04T13:58:52.963 に答える