使用git控制超级/子项目的版本

时间:2014-09-10 08:49:56

标签: git version-control project

我正在构建一个前端框架,在我目前的设置中,我有一个开发回购,一个gem版本和一个文档应用程序。目前,我在dev repo中的子文件夹中有app和gem,允许我的taskrunner立即自动构建所有内容,保持一致。然后我手动将每个的发行版本复制到各自的回购。这意味着,这是一个巨大的主回购,它做得太多了,还有其他回购,我必须非常小心,确保符合要求。它变得非常笨拙;错误正在蔓延中。

理想情况下,我想处理开发版本,并将更改传播到另外两个repos - 例如,当我测试,提交并推送dev repo时,这可能会触发另一个的更新二,将版本内联。这将允许我在需要时进行扩展 - 如果我需要为其他语言添加包,我可以构建一个新的repo并将其添加到项目中,并确信它将以相同的方式工作。

我已经尝试过子模式,但是这个 a。似乎与我想要的东西相反,而 b。从过去的经验来看,git子模块是一个噩梦管理。

我也尝试将所有repos作为父文件夹中的文件夹,它有自己的taskrunner,负责跨子项目的关注,但这实际上与我现在拥有的更漂亮的结构相同;我仍然需要将每个子项目推送到个人仓库。

Gitslave看起来好像有用,但我不太确定如何利用它。

任何有关这种情况的建议(或其他人如何使用git管理链接的子项目)都会非常有用。

1 个答案:

答案 0 :(得分:0)

  1. 子模块无法正常工作"在反对派"原则上 - 只是更好地了解它
  2. 子树的共同点是子模块的替代方案,以解决相同的任务,消除大部分子模块的头痛(并且不要触摸标准的Git工作流程,与子模块相反)
  3. Future reading和好use-case in details