2017-09-19 10 views
1

私はWindows 10でGitコマンドラインを使用しており、WinMergeをmy difftoolとしてセットアップしています。サブモジュール内でGit diffが機能しない

私はいくつかのサブモジュールを持つリポジトリを持っています。メインリポジトリ内で "git diff"と "git difftool"を実行すると、WinMergeを使ってファイルを正しく解析します。サブモジュールに移動して "git diff"または "git difftool"を実行すると、何もしません。ここで

は私の.gitconfigです:

[diff] 
    tool = winmerge 
[difftool "winmerge"] 
    cmd = winmergeu -e \"$LOCAL\" \"$REMOTE\" 

これは私が親レポで差分をgitのときに私が得るものです:

$ git diff 
diff --git a/content/themes/baseline-theme b/content/themes/baseline-theme 
--- a/content/themes/baseline-theme 
+++ b/content/themes/baseline-theme 
@@ -1 +1 @@ 
-Subproject commit 30901f86ba56be092f1ed5c7095204abe7f64b27 
+Subproject commit 30901f86ba56be092f1ed5c7095204abe7f64b27-dirty 

私はサブモジュールで同じコマンドを実行したときに、私は何も出力を取得していません。

どうすれば解決できますか?

+0

サブモジュールは悪です。 [Mastering Git submodules](https://medium.com/@porteneuve/mastering-git-submodules-34c65e940407)を参照してください。 – IInspectable

答えて

1

git diff --submodule=diffを動作させるには少なくともGit 2.11が必要です。

サブモジュールのサブモジュール(すなわち再帰的に)で動作するためには2.14です。
私の答え「see diff of commit on submodule」を参照してください。

+0

これは良いことですが、基本的には私が求めていることをしています。それにはまだ2つの中規模の問題があります:git difftoolではうまくいきませんし、Git Bash(Windows)では入力されたすべてのテキストが表示されないように端末をねじ込みます。でもありがとう。 – develdevil

+0

@develdevil Strange:どのバージョンのGitを使用していますか?あなたのGit bashは少なくともLucidaフォントを使用していますか? – VonC

+0

@develdevil注: 'git difftool'(https://git-scm.com/docs/git-difftool)は' git diff'と同じオプションを受け入れます。だからこれは 'git difftool'でも有効です。 – VonC

関連する問題