Git diff在子模块中不起作用

时间:2017-09-19 20:48:12

标签: windows git diff git-diff winmerge

我在Windows 10上使用Git命令行并将WinMerge设置为我的difftool。

我有一个包含多个子模块的存储库。当运行" git diff"和" git difftool"在主repo中,它正确使用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

当我在子模块中运行相同的命令时,我没有输出。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

git diff --submodule=diff至少需要Git 2.11才能正常工作。

2.14它可以在子模块的子模块中工作(即递归) 请参阅我的回答" see diff of commit on submodule"。