【问题标题】:Git merge of a feature branch to master shows changes outside of the feature change功能分支到主分支的 Git 合并显示功能更改之外的更改
【发布时间】:2016-12-01 05:50:17
【问题描述】:

我一般采用以下步骤:

  1. 创建功能分支。
  2. 功能开发完成后,我将 master 合并到功能分支中,以使其与 master 保持同步。
  3. 将合并后的更改推送到功能分支。
  4. 最后,我将功能分支合并到 master 中,以供发布。

在第 4 步之后,如果我看到“主”分支中的提交,其中一个会显示“将分支“主”合并到“。此提交显示了其他人在我处理我的功能时所做的所有更改。这很好,但是当我在 master 中看到这个提交时,它似乎令人困惑并且它显示了巨大的提交。这些是对功能分支的提交。为什么它们会出现在 master 分支中?

有没有办法将功能分支合并到主分支,同时确保只有功能更改显示在主提交日志中?

【问题讨论】:

    标签: git merge


    【解决方案1】:

    这就是你变基的原因。当您准备好将 master 合并到您的分支以从 master 获取最新代码时,请在您的功能分支中执行 git rebase master。这基本上会回滚您功能分支中的所有提交,从 master 获取最新提交以“更新”您的功能分支,然后在这些提交之上重放您的提交。这样,当您最终将功能分支合并到 master 时,您就没有开始合并提交了。

    你可以看到一个很好的图表解释here

    【讨论】:

    • 如果您包含一个有用的图表,显示变基如何避免丑陋(和令人困惑)的合并提交,则会获得奖励。
    • 我认为我不会比我在答案中添加的链接做得更好。 :)
    • 谢谢! rebase 解释它。 Atlassian 教程非常有用。
    • This answer 也有所帮助,因为我在变基后遇到了同样的问题。基本上,教训是变基,直到我们没有将分支推到原点。在那之后,合并似乎是一个更好的选择。
    猜你喜欢
    • 2016-08-22
    • 1970-01-01
    • 2019-02-28
    • 2014-12-04
    • 2020-01-31
    • 1970-01-01
    • 2023-01-30
    • 2021-11-04
    • 2013-12-05
    相关资源
    最近更新 更多