【问题标题】:git merge manipulates the historygit merge 操纵历史
【发布时间】:2016-09-29 02:02:37
【问题描述】:

在我们的团队中,常规程序是,当我们有重要功能时,我们会在功能分支上工作。
时不时地 - 我们从 master 合并到功能分支,当我们准备好时 - 我们合并回 master(通常通过拉取请求)。

问题在于,在合并之后,提交历史记录是混合的 - 我们没有简单的方法来恢复分支合并操作,以排除分支以防我们发现它有问题。

我们正在考虑一些替代方案:

  1. 而不是将 master 合并到功能分支 - 在 master 之上重新设置分支,以便功能提交出现在日志中的最后。
    这样可以轻松删除它,但如果有人不遵守此规则,我们仍然会遇到同样的问题)

  2. 不要将分支合并回主分支,而是在其之上重新设置功能分支。这可能意味着我们不能再使用拉取请求。

  3. 每天都有一个脚本标签大师。
    由于我们需要排除已经合并的分支的情况非常罕见——我们可能可以一一检查和考虑自昨天以来的提交。这听起来很 hacky,但它并不妨碍我们目前在这里做事的方式

这里的最佳做法是什么?

【问题讨论】:

    标签: git merge branch rebase


    【解决方案1】:

    而不是将分支合并回 master - 在其之上重新设置功能分支。这可能意味着我们不能再使用拉取请求。

    是的,在强制将重新定位的分支推送到 fork 之后,您将能够使用 PR。
    一个拉取请求可以跟随一个分支历史的多次重写。

    请注意,这里的 1 与 2 奇怪地相似:“将分支重新设置在 master 之上”与“将功能分支重新设置在它之上(master)”。

    但无论如何,在 master 之上的 rebase 功能是 PR 之前首选的工作流程。

    【讨论】:

    猜你喜欢
    • 2018-06-07
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2019-12-15
    • 2019-08-09
    • 2011-08-10
    相关资源
    最近更新 更多