2

Windows 8.1 システムの Git Bash で KDiff3 を difftool として使用しようとしていますが、確かに Git にはかなり慣れていません。ステージングされたファイルとコミットされたファイルを比較しようとすると、KDiff3 を開くことができず、どうすればよいか混乱しています。KDiff3 をマージツールとしてセットアップするための指示をオンラインで見つけたので、それをdiffツールとしてセットアップするには、同様のことを行う必要があると推測しました(初心者向けに diff をセットアップするための十分に明確な指示を見つけることができませんでした)。ツール、それが私がここにいる理由です)。これは、KDiff3 をダウンロードしてインストールした後に行ったことです。

 git config --global diff.tool kdiff3
 git config --global difftool.kdiff3.cmd '"C:\\Program Files\\KDiff3\\kdiff3" $BASE $LOCAL $REMOTE -o $MERGED'

Git は私にエラーを吐き出さなかったので、それは正しいのでしょうか? 私はここで構文を理解していないことを完全に認めます! とにかく、私がこれを試したとき:

 git diff HEAD

私はこれを得る:

 error: cannot spawn kdiff3: No such file or directory
 external diff died, stopping at MyFile.R

$PATH が正しく設定されていないときに同様の問題を抱えている人々への言及をいくつか見ました。$PATH が何であるかはよくわかりません (そして、誰かが私を啓発できるなら、私は非常に義務付けられています)、KDiff3 用に取得したパス (C:\Program Files\KDiff3\kidff3) は間違いなくkdiff3.exe は私のマシンのどこにありますか。助言がありますか?

前もって感謝します。先に述べたように、私は Git を初めて使用するので、重要な情報を提供していない場合はお知らせください。

4

2 に答える 2

3

Git bash では kdiff3 の使用方法が既に定義されているため、2 行目の構成をあきらめることをお勧めします。(Git Bash のインストールを確認できます。たとえば、私のパスでは、kdiff3 の構成ファイルである C:\Program Files (x86)\Git\libexec\git-core\mergetools\kdiff3 を見つけることができます) . 必要なのは、kdiff3 を PATH 変数に入れることだけです。

最初の行のみを使用します。

git config --global diff.tool kdiff3

2行目ではありません:

#### comment out this line:
# git config --global difftool.kdiff3.cmd '"C:\\Program Files\\KDiff3\\kdiff3" $BASE $LOCAL $REMOTE -o $MERGED'

既に追加されている構成を修正するには、GIT BASH の下で .gitconfig を編集してみてください

vim ~/.gitconfig

セクションを見つけて、そのセクションの下にある[difftool "kdiff3"]の行を削除します。cmd=セクション全体を削除することもできます (つまり、次の行を含む行も削除します)。[difftool "kdiff3"]

次に、パスを kdiff3 に追加します。

PATH=$PATH:"/c/Program Files/KDiff3"

"Program" と "Files" の間にスペースがあるため、二重引用符が必要です。

この PATH 行は、bash の起動方法に応じて、.bashrc または .bash_profile に追加できます...

- - アップデート - -

訂正: Git Bash は Windows システム定義の環境変数 'PATH' + Windows ユーザー定義の環境変数 'PATH' を使用するため。上記の PATH の変更はより困難です (.bashrc などを使用)。このリンクこのリンクなどの Windows 環境変数を変更するだけです。

于 2014-12-03T04:07:13.050 に答える