Git:无重基混沌的连续集成

Git:无重基混沌的连续集成,git,continuous-integration,rebase,Git,Continuous Integration,Rebase,我们有两个开发团队在一个系统上工作。团队A正在“主”分公司(我们的生产分公司)工作。它们将从“主”分支到功能或错误修复分支,并合并回“主”进行发布 团队B正在进行“升级”分支,该分支是从“主”分支而来的。他们遵循类似的方法,从“升级”分支到功能或错误修复分支,然后在工作完成后合并回“升级” 最终,升级完成后,“升级”分支将替换“主”分支。同时,我们如何保持“升级”分支与“主”同步 到目前为止,我一直在每周“master”上重新设置“upgrade”分支的基址。问题在于,当团队B中的成员想要从“升

我们有两个开发团队在一个系统上工作。团队A正在“主”分公司(我们的生产分公司)工作。它们将从“主”分支到功能或错误修复分支,并合并回“主”进行发布

团队B正在进行“升级”分支,该分支是从“主”分支而来的。他们遵循类似的方法,从“升级”分支到功能或错误修复分支,然后在工作完成后合并回“升级”

最终,升级完成后,“升级”分支将替换“主”分支。同时,我们如何保持“升级”分支与“主”同步

到目前为止,我一直在每周“master”上重新设置“upgrade”分支的基址。问题在于,当团队B中的成员想要从“升级”中退出或推动更改时,这会重写历史并造成混乱。我们应该如何以一种简单、干净的方式持续整合“主”和“升级”

到目前为止,我一直在每周“master”上重新设置“upgrade”分支的基址。
问题是,这改写了历史,给B组的成员造成了混乱

所以。。。不要重新设定基准。提取并合并
origin/master
到本地分支
upgrade

最终合并回
主控
将是一个简单(甚至快速)的合并

另见:

  • “”:对于
    交付
    重定基础
    基础
  • “”:查看每个操作支持的工作流类型。
    就在合并之前,重设基础很好。
    但在您的情况下,很长一段时间后您不会合并(返回到
    master
    ) 因此,合并(升级)是一个明智的解决方案

谢谢:)我对合并将产生的历史并不太兴奋(这就是为什么我们迄今为止一直避免合并的原因),但我开始意识到这是其中之一。感谢您的反馈:)@Gazza每周多做一次承诺会破坏和污染您的历史吗?