【问题标题】:Git: continuous integration without rebase chaosGit:没有变基混乱的持续集成
【发布时间】:2012-08-30 11:42:02
【问题描述】:

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

团队 B 正在开发一个从“master”分支的“升级”分支。他们遵循类似的方法,从“升级”分支到功能或错误修复分支,然后在完成工作后合并回“升级”。

最终,一旦升级完成,“升级”分支将取代“主”。同时,我们如何保持“升级”分支与“主”同步?

迄今为止,我每周都在“master”上重新调整“upgrade”分支。问题在于,当团队 B 中的成员想要退出或推送更改以“升级”时,这会改写历史并给他们造成混乱。我们应该如何以简单干净的方式不断整合“大师”和“升级”?

【问题讨论】:

    标签: git continuous-integration rebase


    【解决方案1】:

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

    所以...不要变基。获取并合并origin/master 到本地分支upgrade
    最终合并回master 将是一个简单(甚至是快速)的合并。

    另见:

    • About Git's merge and rebase”:用于deliverrebase 基础知识
    • git rebase vs git merge”:查看每个操作支持的工作流类型。
      在合并之前,Rebase 是好的。
      但在你的情况下,你不会在很长一段时间内合并(回到master)。
      所以合并(升级)是一个明智的解决方案。

    【讨论】:

    • 谢谢 :) 我对合并将产生的历史不太兴奋(这就是我们迄今为止避免合并的原因),但我开始意识到它是一个或其他。感谢反馈:)
    • @Gazza 每周额外提交一次是否会削弱和污染您的历史记录?
    猜你喜欢
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2017-07-22
    • 2019-04-25
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多