【问题标题】:How to perform merge?如何执行合并?
【发布时间】:2012-02-01 12:04:30
【问题描述】:

我有一个 master 分支和一个 feature 分支。功能分支有一些变化,但主分支有很多变化,比如从存储库中删除 10 个项目。问题是如何将 feature 分支合并回 master 分支?

1) 将特征与主合并,然后将主与特征合并

2) 直接将master与feature合并

【问题讨论】:

    标签: git merge branch branching-and-merging


    【解决方案1】:
    checkout master
    checkout -b develop (assuming you don't already have a develop branch)
    merge --no-ff your-feature-branch
    

    解决代码中的任何冲突。 测试,测试测试。

    checkout master
    merge --no-ff develop
    

    然后部署您的代码。

    really like this branching model 因为它总是让我在功能分支上构建功能,在开发时进行最终测试。并且只会合并到主人中。 master 上没有提交。

    【讨论】:

    • 这个工作流程在我提供的链接中得到了改进。关键是每个功能都从同一个地方开始。其中一些步骤更加明确,并且 rerere 的角色定义得很好。
    • 嗨,布莱恩。这些命令实际上是问题中的选项 1) 吗?
    • 是的,mynkow,我认为如果以不同的方式,它们会产生相同的效果。
    【解决方案2】:

    不要进行反向合并。在集成分支上集成。在发布候选分支上测试已完成的分支。仅在发布候选版本时合并到 master。您合并已部署的候选版本。

    这里有更多信息:

    https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

    更新

    我在这里重写了这个:

    http://dymitruk.com/blog/2012/02/05/branch-per-feature/

    【讨论】:

    • 好吧,我们对整个画面采用了不同的方法。我只是问如何将 1 个分支合并回 master。我可以对布莱恩说同样的话。我真的很喜欢你建议的分支模型,但我无法应用它。
    • 为什么不能申请?
    • 公司里的很多人都会对此感到困惑。我现在不想把他们推到那里。所以,你能给我一个建议1)或2)。最好的问候
    • 我也不会这样做。启动一项新功能,而不是将 master 合并回该功能。
    【解决方案3】:

    对于master,两者的状态相同。只是feature 分支在第一种情况下被带到与master 相同的状态,而在第二种情况下保持不受影响。

    如果您要问做哪一个,那么做第一个是首选方式。您应该先将 master “合并”功能,以便合并后的任何错误都不会影响 master。保持master 干净。这也确保了主服务器中永远没有merge conflicts

    这是我的一般做法:将 master 合并到任何功能分支并检查一切是否正常。如果有东西坏了,修理它。然后再次合并最新的master。只有在合并的分支看起来不错后,才会将其放入 master 中。

    【讨论】:

      【解决方案4】:

      我会在 master 之上 rebase 功能,然后在 master 之上快速前进功能

      (带有功能签出)

      git rebase master
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-06
        • 1970-01-01
        • 2020-11-25
        • 2023-01-10
        • 2022-11-26
        • 1970-01-01
        相关资源
        最近更新 更多