【问题标题】:Git - Move feature branch ancestor pointer to latest commit on MasterGit - 将功能分支祖先指针移动到 Master 上的最新提交
【发布时间】:2014-08-28 11:39:01
【问题描述】:

我遵循的工作流程类似于 Scott Chacon 在他的 Pro Git 书中描述的工作流程,并在 3.2 Git Branching 中进行了说明。

我创建了一个分支(按照 Scott 的示例)iss53。我已经在那个分支上完成了工作,但随后需要换档并解决一个新问题。我创建分支hotfix。提交被添加到hotfix,然后合并回master

在 Scott 的示例中,他不需要接受来自 hotfix (C4) 的提交并将其应用到 iss53,但说我需要。

如何更新我的功能分支,使其看起来像是从以后的提交中分支出来的?

实际上,我想更新iss53,使其看起来像这样:

更新:

在进一步研究之后,这篇文章就是我想要解释合并与变基的文章:http://blog.sourcetreeapp.com/2012/08/21/merge-or-rebase/

【问题讨论】:

    标签: git git-branch branching-and-merging


    【解决方案1】:

    使用rebase,在同一本书的几页之后进行解释。

    $ git checkout iss53
    $ git rebase master
    

    请注意,如果分支 iss53 is pushed to a remote that other people can access,则应避免 rebase。

    【讨论】:

    • 如果我 rebase master,这会影响我对 master 的下一次提交吗?例如,如果我按照您的建议进行操作,然后切换到 master 分支并添加提交 C5。我仍然希望C5 的祖先是C4不是 C3
    • 不,不会影响master。 C5 的祖先是 C4C3 的祖先仍然是 C4。如果你想让C5 成为C3 的新祖先,那么你必须再次变基。
    • 经过一些测试,你是对的,这正是我要找的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多