2017-08-26 60 views
1

如果一个与git submodule add [remote URL]创建一个git子模块和辅助模块承诺,git diff父项目展示了类似有没有快捷方式来查看比较详细信息在git子模块而不是提交哈希?

 
diff --git a/validation-tools b/validation-tools 
index 78208b2..8941219 160000 
--- a/validation-tools 
+++ b/validation-tools 
@@ -1 +1 @@ 
-Subproject commit 78208b2e64422a85509f0462b944ef8fbde93f48 
+Subproject commit 8941219dd4935e97a585295ec34fb190e601b7ab 

为了查看一个有cd到它的子模块的不同,复制两散列作为参数git diffgit difftool。我正在寻找一种避免复制的快捷方式(如果可能,还可以使用cd)。我在使用git 2.11.0在Ubuntu 17.04上。

回答

2

您可以使用:

git diff --submodule=diff 

然而,在Git中的版本,您正在使用(2.11),如果你的子模块已经在其中嵌套子模块此命令将失败。 (Version 2.14.1 resolves this issue,不过)

如果由于某种原因,你无法升级Git和你有嵌套子模块,你可以尝试:

git submodule foreach --recursive git diff --name-status 
相关问题