git子模块更新--init给出错误致命:需要单个修订无法在子模块路径中找到当前修订

时间:2016-07-06 15:17:04

标签: git jenkins

当我执行.inner时,我收到错误

  

致命:需要单个版本无法在子模块路径中找到当前版本' plugins / pluginname'。

实际上我正在尝试运行Jenkins Job来部署它。我在Jenkins中添加了递归更新子模块作为附加行为。致命:命令" git.exe子模块更新--init --recursive"返回状态码-1:这只发生在我的本地,因为同一命令正在为其他人工作。

3 个答案:

答案 0 :(得分:1)

这是Git中隐藏的实际错误的示例,这是Git的典型UX陷阱。

在我的情况下,真正的错误是我正在使用固定到不再存在的分支的子模块(例如,已经通过Gitlab合并并删除的功能分支)。验证您是否也是这种情况,如果是,请将子模块指向新分支。

答案 1 :(得分:1)

对于Jenkins遇到此问题的人,我实际上找到了解决方法here。 您可以选择

清除存储库并强制克隆

这有效,但结帐时间更长

答案 2 :(得分:0)

对于 TeamCity 用户。

打开您的 VCS 根设置并将子模块模式从结帐更改为忽略。 然后,您最终可以在脚本中手动检出子模块而不会出现此错误。