【问题标题】:Git Branch develop and master have divergedGit Branch develop 和 master 已经分道扬镳了
【发布时间】:2016-05-13 17:38:16
【问题描述】:

我的分支遵循 git 流模型,因此有一个开发和主分支,它们最初是同步的。

我的过程是从develop创建一个功能分支,完成功能后将其合并到develop,创建一个发布分支,应用任何修复,并在完全测试后,先将发布分支合并回develop分支,然后再合并到master .

所以它们应该是同步的,但显然已经分歧了,因为每次我将发布分支合并到 master 时,我都会遇到合并错误,它要求我手动解决它们。

我的问题是,用开发分支完全覆盖主分支并重新开始是一个好主意,我现在可以负担得起,还是有其他解决方案来解决这类问题?

【问题讨论】:

    标签: git github merge


    【解决方案1】:

    如果您无法将develop 干净地合并到master 中,那么master 中肯定有某些东西,而develop 中没有。你当然可以宣布破产,然后用push --forcedevelop 代替master,但我个人会警惕失去一些从未进入master 的重要东西。

    在将develop 成功合并到master 之后,git diff master develop 是否显示出任何有趣的东西?

    【讨论】:

    • 有一些不同之处在于有些文件是从开发中删除的,而在master中没有被删除,但这些都是微不足道的,除此之外并没有什么大的,只有1或文件中的 2 个其他微小差异并不重要。那么你会建议我用 develop 覆盖 master 吗?
    • 如果您不需要 master 中的细微差别,我确实只需要 git push -f origin develop:master 并让您的历史记录更简单。
    【解决方案2】:

    看来,既然您不介意将 master 中未在 develop 中的更改吹走,您应该只用 develop 覆盖 master;展望未来,根据您的流程,您永远不应该向 master 提交,只从 develop 分支,然后合并到 develop,并且在您确定构建干净时偶尔将 development 合并到 master

    【讨论】:

      猜你喜欢
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多