【问题标题】:In what branch should I be when doing a rebase?做rebase时我应该在哪个分支?
【发布时间】:2013-11-01 00:31:18
【问题描述】:

我有一个 master 分支,其中包含一些 development 分支没有的提交。

development 分支有更多 master 没有的提交。

我想将development 的状态合并到master,即覆盖master 具有development 缺少的任何更改。

有人告诉我我应该变基。 When I read about rebase,我理解语法如下:

git rebase master

但我不明白的是,我应该从哪个分支编写命令(以完成所描述的场景),在 masterdevelopment 中?

【问题讨论】:

    标签: git branch git-branch rebase git-rebase


    【解决方案1】:

    从那里结帐开发和变基:

    git checkout development
    git rebase master
    

    后一个示例,git rebase master development 是上述命令的较短版本(如您链接的文档中所述)。

    这将导致您的开发分支更改看起来好像是从 master 上的最新提交开始的(前提是您没有遇到任何冲突,如果遇到它们,您必须在 rebase 期间解决)。如果一切顺利,您将能够将开发合并到 master 中,这将作为一个简单的快进合并。

    请参阅http://rypress.com/tutorials/git/rebasing.html 以获得很好的解释。

    【讨论】:

      【解决方案2】:

      在这个特定场景中,您可以从development 分支编写rebase 命令。

      这类似于 git merge master 如何将 master 合并到您当前的分支。

      【讨论】:

      • 啊,好的。所以做一个变基意味着我在对“过去”(在development)进行更改的同时继续我在development 上的状态?然后合并两个分支,我还得从master做一个合并?
      • 是的,development 的历史记录移到了master 的历史记录之上。所以developmentmaster 的提交,但反之则不然。
      猜你喜欢
      • 1970-01-01
      • 2012-04-02
      • 2017-02-23
      • 2015-10-31
      • 2018-06-22
      • 2017-02-21
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多