git difftoolの万華鏡


18

git difftool2つのブランチを比較するために万華鏡を使用​​してみました。

だから私はksdiffをインストールし、私の中でフォローするように設定しました.gitconfig

 [diff]
     tool = kaleidoscope
 [difftool "kaleidoscope"]
     cmd = ksdiff --changeset $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")

走るとき

git difftool myBranch otherBranch 

エラーが表示されます cannot use duplicate files within the same file list

回答:


36

設定する方法を見つけました。Kaleidoscope自体のKaleidoscopeメニューには、Integrationと呼ばれるリンクがあり、複数のバージョン管理ソリューションの構成ウィンドウを開きます。

カレイドスコープの「統合」設定ウィンドウ

ksdiffをインストールした後、[ 構成 ]ボタンをクリックすると、.gitconfigファイルに次の行が追加されます。

[diff]
    tool = Kaleidoscope
[difftool "Kaleidoscope"]
  cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = Kaleidoscope
[mergetool "Kaleidoscope"]
  cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
  trustExitCode = true

その後、次のコマンドを実行すると、それぞれ異なるファイルが連続して開きます

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

ノート:

  • -y各ファイルのdifftoolにKaleidoscopeを使用するかどうかを尋ねるプロンプトを表示しないようにします。デフォルトの答えは「はい」です。
  • -t Kaleidoscopeここでは、デフォルトのdifftoolがすでにファイルに設定さKaleidoscopeれているため、オプション.gitconfigです。

1
私の場合、私も自分のに追加する[merge] tool = Kaleidoscope必要がありました.gitconfig
stigi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.