Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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子模块更新`不';t签出子模块中的提交_Git - Fatal编程技术网

`git子模块更新`不';t签出子模块中的提交

`git子模块更新`不';t签出子模块中的提交,git,Git,我遇到了以下问题:当我签出超级项目的特定提交并运行git update submodules时,子模块的提交没有签出,尽管根据手册页、internet博客帖子等,这是该命令应该执行的操作。我仍然需要手动运行git子模块来检查正确的提交 有人知道我是什么让git这么做的吗?我使用的是git 2.11.0版 工作树是干净的 manuel@manuelthinkpad:~/projects/testcompile/superproject$ git status HEAD detached at o

我遇到了以下问题:当我签出超级项目的特定提交并运行
git update submodules
时,子模块的提交没有签出,尽管根据手册页、internet博客帖子等,这是该命令应该执行的操作。我仍然需要手动运行
git子模块
来检查正确的提交

有人知道我是什么让git这么做的吗?我使用的是git 2.11.0版


工作树是干净的

manuel@manuelthinkpad:~/projects/testcompile/superproject$ git status
HEAD detached at origin/master
nothing to commit, working tree clean
已签出子模块
的右提交。(其行没有前缀
+
/
-

我正在结帐超级项目的本地主管,该项目尚未推出:

manuel@manuelthinkpad:~/projects/testcompile/superproject$ git checkout master
Previous HEAD position was 4b58c94... Merge branch 'dev' into 'master'
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
现在,我想更新子模块,使其签出正确的提交:

manuel@manuelthinkpad:~/projects/testcompile/superproject$ git submodule update --recursive
Fetched in submodule path 'modules/libgksl', but it did not contain a20f22f989afbcbb620303a6b418de8093c71259. Direct fetching of that commit failed.
manuel@manuelthinkpad:~/projects/testcompile/superproject$ git submodule update modules/problematic_submodule/
Submodule path 'modules/problematic_submodule': checked out '24b46f28edf9c75bf8a7bcf4cac7aa65564c88c9'
唉,
有问题的_子模块
仍然处于错误提交状态。(请注意,该行的前缀为
+

我必须指定
problemble\u子模块
,以便将其签出:

manuel@manuelthinkpad:~/projects/testcompile/superproject$ git submodule update --recursive
Fetched in submodule path 'modules/libgksl', but it did not contain a20f22f989afbcbb620303a6b418de8093c71259. Direct fetching of that commit failed.
manuel@manuelthinkpad:~/projects/testcompile/superproject$ git submodule update modules/problematic_submodule/
Submodule path 'modules/problematic_submodule': checked out '24b46f28edf9c75bf8a7bcf4cac7aa65564c88c9'
只有现在才签出了
有问题的\u子模块
的正确提交。(该行不再以
+
作为前缀)


git submodule update
未能签出子模块中的正确提交
problem\u submodule
的原因似乎是它在无法签出子模块
libgksl
所需提交时中止

manuel@manuelthinkpad:~/projects/testcompile/superproject$ git submodule update --recursive
Fetched in submodule path 'modules/libgksl', but it did not contain a20f22f989afbcbb620303a6b418de8093c71259. Direct fetching of that commit failed.
显然,这停止了整个子模块更新操作

我可以通过执行以下步骤来解决我的问题:

一,。 更改为
模块/libgksl
并签出现有提交

二,。 回到超级项目,
git add modules/libgksl
,然后提交


现在超级项目又恢复了健康状态。当我更改子模块的签出提交并通过添加和提交将其SHA1存储在超级项目中时,
git submodule update
从现在起可以相应地更新子模块。

git submodule update
未能在子模块
中签出正确提交的原因似乎是,它在无法签出所需的子模块提交时中止
libgksl

manuel@manuelthinkpad:~/projects/testcompile/superproject$ git submodule update --recursive
Fetched in submodule path 'modules/libgksl', but it did not contain a20f22f989afbcbb620303a6b418de8093c71259. Direct fetching of that commit failed.
显然,这停止了整个子模块更新操作

我可以通过执行以下步骤来解决我的问题:

一,。 更改为
模块/libgksl
并签出现有提交

二,。 回到超级项目,
git add modules/libgksl
,然后提交


现在超级项目又恢复了健康状态。当我更改子模块的签出提交并通过添加和提交将其SHA1存储在超级项目中时,
git submodule update
从现在起可以相应地更新子模块。

您能告诉我您发出了哪些命令来检查该git子模块中的特定提交吗?
在子模块路径“modules/libgksl”中获取,但它不包含20f22f989abcbb620033a6b418de8093c71259。直接获取该提交失败
对我来说,这听起来像是一条错误消息。对于子模块
modules/libgksl
,整个命令可能会因为此错误而取消?
git子模块更新模块/problem_子模块
有效吗?@LethalProgrammer:我不知道你的意思。行
9acb4a5d28d1ac785fce17799d58e21cc437b77d模块/有问题的_子模块(v0.19-3355-g9acb4a5d2)
没有前缀
+
-
,因此正确的提交子模块被签出。我的意思是您使用的是
git checkout
?,执行此操作后,您得到了错误?@kowsky:您的假设似乎是“由于子模块
模块/libgksl
的此错误,整个命令被取消”是正确的。至于
git子模块更新模块/problem_子模块
是否有效的问题:这在我的第一篇文章中得到了回答。你能告诉我你给出了什么命令来检查该git子模块中的特定提交吗?
在子模块路径“modules/libgksl”中获取,但它不包含20f22f989afbcbb620033a6b418de8093c71259。直接获取该提交失败
对我来说,这听起来像是一条错误消息。对于子模块
modules/libgksl
,整个命令可能会因为此错误而取消?
git子模块更新模块/problem_子模块
有效吗?@LethalProgrammer:我不知道你的意思。行
9acb4a5d28d1ac785fce17799d58e21cc437b77d模块/有问题的_子模块(v0.19-3355-g9acb4a5d2)
没有前缀
+
-
,因此正确的提交子模块被签出。我的意思是您使用的是
git checkout
?,执行此操作后,您得到了错误?@kowsky:您的假设似乎是“由于子模块
模块/libgksl
的此错误,整个命令被取消”是正确的。至于
git子模块更新模块/problem_子模块
是否有效的问题:这在我的第一篇文章中得到了回答。