在git子模块中查看差异详细信息是否有快捷方式而不是提交哈希?
如果使用在git子模块中查看差异详细信息是否有快捷方式而不是提交哈希?,git,Git,如果使用git submodule add[remote URL]创建一个git子模块并在子模块中提交,则父项目中的git diff显示如下内容 diff --git a/validation-tools b/validation-tools index 78208b2..8941219 160000 --- a/validation-tools +++ b/validation-tools @@ -1 +1 @@ -Subproject commit 78208b2e64422a85509f0
git submodule add[remote URL]
创建一个git子模块并在子模块中提交,则父项目中的git diff
显示如下内容
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
diff——git a/验证工具b/验证工具
索引78208b2..8941219 160000
---a/验证工具
+++b/验证工具
@@ -1 +1 @@
-子项目提交78208b2e64422a85509f0462b944ef8fbde93f48
+子项目提交8941219dd4935e97a585295ec34fb190e601b7ab
为了查看子模块中的差异,必须将cd
复制到其中,并将两个散列作为参数复制到git diff
或git difftool
。我正在寻找一种避免复制的快捷方式(如果可能的话,还有cd
)
我正在Ubuntu 17.04上使用git2.11.0。您可以使用:
git diff --submodule=diff
但是,在您使用的Git版本(2.11)中,如果子模块中有嵌套的子模块,则此命令将失败。(,然而。)
如果出于某种原因,您无法升级Git,并且您有嵌套的子模块,您可以尝试:
git submodule foreach --recursive git diff --name-status