Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在git子模块中查看差异详细信息是否有快捷方式而不是提交哈希?_Git - Fatal编程技术网

在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上使用git
2.11.0。

您可以使用:

git diff --submodule=diff
但是,在您使用的Git版本(2.11)中,如果子模块中有嵌套的子模块,则此命令将失败。(,然而。)

如果出于某种原因,您无法升级Git,并且您有嵌套的子模块,您可以尝试:

git submodule foreach --recursive git diff --name-status