我使用的是 Windows 10,使用 Git 命令行,并将 WinMerge 设置为我的 difftool。
我有一个包含多个子模块的存储库。在主存储库中运行“git diff”和“git difftool”时,它可以正确使用 WinMerge 来分析文件。当我导航到子模块并运行“git diff”或“git difftool”时,它什么也不做。
这是我的 .gitconfig:
[diff]
tool = winmerge
[difftool "winmerge"]
cmd = winmergeu -e \"$LOCAL\" \"$REMOTE\"
这是我在父存储库中进行 git diff 时得到的结果:
$ 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
当我在子模块中运行相同的命令时,我没有得到任何输出。
我该如何解决这个问题?
最佳答案
您至少需要 Git 2.11 才能使 git diff --submodule=diff 正常工作。
2.14 让它可以在子模块的子模块中工作(即递归地)。
请参阅我的回答“see diff of commit on submodule”。
关于windows - Git diff 在子模块中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46309529/