如何从特定分支更新我的git子模块?

时间:2014-05-06 23:37:04

标签: ruby-on-rails ruby git git-submodules

我有一个Ruby on Rails应用程序,它有两个git子模块。我正在主应用程序和两个子模块中将Rails从v3升级到v4,因此我为每个子模块创建了一个rails4分支。主应用程序和每个子模块都有自己独立运行的测试套件,所以我在子模块和项目中进行了升级,确保测试都在每个地方运行,现在我需要将子模块更新到项目中。

当我git submodule update时,如何告诉应用程序的rails4分支中的git从子模块的rails4分支更新?可以对此进行临时修复,因为一旦应用程序确认正常工作并且分支全部合并到主服务器中,我可以将它们指回主服务器。感谢。

1 个答案:

答案 0 :(得分:1)

  

现在我需要将子模块更新到项目中。

父代表只记录SHA1(特殊gitlink entry, mode 160000

您可以在rails4分支中更新.gitmodules,以便让您的子模块签出/更新其rails4分支:有关完整流程,请参阅“Git submodules: Specify a branch/tag”:它始于:

cd /path/to/your/parent/repo
git config -f .gitmodules submodule.<path>.branch <branch>

这将允许git submodule update --recursive --remote更新这些子模块中的rails4分支。