如何管理git存储库中的许多模块

时间:2012-10-04 10:05:29

标签: git version-control branch

我有一个包含多个模块的项目,有些模块取决于其他模块,例如:

  • X
  • A, which depends on X
  • B, which depends on X

开发AB会导致X中的许多更改。

我在git上有开发分支,我正在开发A和B.

如何管理将A或B推送到某种稳定的分支?

我的意思是,我的情况如下:

[实际稳定分支版本,此后提交在开发分支中]

  • 提交1:更改A和X
  • 提交2:更改B和X
  • 提交3:更改A和X

提交3之后我想要推送A稳定。 所以我需要Commit1:A,X,Commit2:X,Commit3:A,X

有没有办法做到这一点? 我不想在其中添加其他存储库。

1 个答案:

答案 0 :(得分:1)

你还需要一个额外的回购,即“父回购”,它会记住ABX的确切提交。
这是 submodules 的用途:ABX将被声明为父回购的子模块。

你会照常推送你的修改(到你选择的分支),但另外你也会提交并推送父仓库,以便记录每个子模块的提交。登记/> 有关该工作方式的更多信息,请参阅“True nature of submodules”。