Git:如何在子模块上管理多个分支并将它们绑定到主仓库上的特定分支

时间:2013-08-23 16:55:23

标签: git version-control git-submodules

我正在开发一个大型项目,其中主存储库和子模块正在迅速变化。目前只有一个子模块具有不同的分支。让我们称他们为master,dev1和dev2。主存储库还有各种分支,如master,dev1,dev2,dev3,dev4等。现在我知道当我检查主存储库上的分支时,子模块将在分离的HEAD中的特定提交中检出。在子模块中有多个分支迫使我总是记得在对主存储库或子模块进行任何提交之前检查主存储库上的右分支以及子模块。我想要的是当我检查主存储库上的特定分支时,应该在子模块上自动检出具有匹配名称的分支,如果没有匹配的分支,则应检查子模块上的“主”分支。我希望在子模块上切换分支时也会发生同样的事情,以便主repo上的相应分支在子模块上的相关分支上具有相应的提交。

Git 1.8.2添加了一个跟踪子模块作为分支的选项。我无法弄清楚这是否有用,无论如何实现我想要的。

如果看起来有任何其他方式,请告诉我。也很高兴知道你的民众通常如何管理这种情况。

1 个答案:

答案 0 :(得分:0)

听起来你需要做的是将子模块移动到一个单独的存储库并将其用作主存储库中的外部存储库,然后可以标记主存储库中外部的特定版本(和分支)反之亦然。