如何更新子模块

时间:2015-11-12 16:42:23

标签: git jenkins

如何在分离的头上更新子模块?

我试试

git pull --recurse-submodules
git submodule update --init --recursive

但是我收到了错误:

You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

    git pull <remote> <branch>

我该怎么办?在分离的头上有更新子模块的另一种方法吗?用例是jenkins尝试更新分离头上的子模块。

1 个答案:

答案 0 :(得分:0)

你到底想要完成什么?子模块处于分离头模式是完全正常的。只要它指向子模块的正确提交,它就不应该是Jenkins的问题。

您为什么使用recursive?子模块是否有自己的子模块?

如果你想要的是Jenkins检查所有存储库(主存储库及其子模块)的正确提交,那么一个简单的git submodule update就可以了。顺便说一句,詹金斯知道如何为你做这件事,没有理由你自己或任何事情输入这个命令。

如果你希望Jenkins实际上更改子存储器在主存储库中记录的提交,那么它们指向某个分支的尖端,那么这是一个非常奇怪的事情在Jenkins做...通常你不会在Jenkins中进行代码更改。