【问题标题】:Merge 2 branches in git ignoring branch in between?在 git 中合并 2 个分支,忽略中间的分支?
【发布时间】:2014-03-05 07:28:39
【问题描述】:

我想有选择地将一个分支合并到另一个分支,然后合并另一个分支,忽略其间的 1 个分支。我如何用 Git 做到这一点?我正在为 Visual Studio 使用 Git 扩展。

【问题讨论】:

  • “忽略中间的一个分支”是什么意思?你的意思是忽略一个提交?您可以直接合并提交,或者如果它不是直接在分支点之后,您可以选择它。
  • @Daniel 我想忽略分支右向 1 的提交(没有圆圈)。
  • “秘密”是这样的:合并实际上并没有合并到一个分支中。它实际上合并在 commit 中。如果提交是分支提示,则具有在分支中合并的效果。要合并一个特定的提交,git merge commit-ID(commit-ID 是一个 SHA-1,或 branch~N,或其他)(你可能想使用--no-commit,所以你可以调整合并消息,尽管你总是可以commit --amend 如果您愿意,请稍后)。

标签: git git-branch git-merge git-extensions


【解决方案1】:

在 git 中你并没有真正合并分支。您可以通过添加一个新的合并提交来合并两个提交。新的合并提交将这两个提交作为父提交并包含合并结果。

如果我正确理解您的问题,您想合并两个带圆圈的提交,目前由 Logout_IdleUserVarious_Fix 引用。

在这种情况下,您可能想要这样做:

git checkout Logout_IdleUser
git merge Various_Fix

这将通过创建一个合并提交来合并两个带圆圈的提交。它还将移动 Logout_IdleUser 以指向新的合并提交。

如果您想要不同的结果,请更准确地描述您预期的最终情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-25
    • 2016-04-04
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多