使用git分支与多个存储库的好处

lys*_*cid 12 git version-control dvcs git-branch

我们正在为自动化代码进行开发.

我们的代码使公司的产品自动化,并与特定的产品版本同步.

目前,我们有一个包含多个分支的大型Git存储库 - v1.0,v1.1,v2.0(版本1.0的自动化进入v1.0分支,依此类推).

在具有分支的单个存储库中将这些存储在一个单独的存储库中的优点和缺点是什么?

两种解决方案都可以工作,我正在寻找的答案是两种方法的优缺点列表.

我知道许多团队正在使用分支来隔离开发中的临时阶段,例如执行错误修复或新功能,最终将工作合并到主要开发分支中.

我知道的其他工作模式有不同的分支用于开发,发布等,以将代码的"清洁"修订与经常处理的脏代码分开.

这些听起来都不像我们目前所做的那样.

*请注意,我们制作的特定版本中的某些修改与所有产品版本相关,而有些版本则不然.

Von*_*onC 8

多个分支

优点:

  • 只管理一个仓库(您的自动化指向一个远程)
  • 比较(差异)分支可能直接来自那个回购
  • 你可以将那个分支中的任何一个从任何一个仓库拉到任何其他可能需要它的下游仓库

缺点:

  • 分支混乱(你需要管理/删除分支的总和)
  • 标签适用于所有回购(不仅仅适用于"某些产品")

多个回购

优点

  • 你可以从主回购中拉出你需要的东西并从那里开始工作
  • 你可以轻松地清理旧的"分支"(只需删除那个特定的回购)

缺点

  • repo duplication(占用更多空间)
  • 回购管理(你需要指向右边的遥控器)

我认为单一回购方法是一种更简单,更经典的方法.
也就是说,如果你有许多版本(需要定期清理),在他们自己的仓库中隔离这些瞬态版本也可以.