Git:变基术语

Eri*_*ner 6 git

鉴于以下分支

     A---B---C topic (HEAD)
    /
D---E---F---G master
Run Code Online (Sandbox Code Playgroud)

并运行命令

git rebase master
Run Code Online (Sandbox Code Playgroud)

这是否意味着,我们是

  • 重订topic/HEADmaster,或...
  • 重订mastertopic/HEAD

我无法从git-rebase手册页中推断出我将如何在句子中表达此操作。

PS:我知道rebase它是什么以及它做什么,我只想知道“如何说话”命令,因为第一个参数实际上被称为upstream.

Mak*_*oto 5

结果分支布局如下:

      A---B---C ("dangling", waiting for garbage collection)
     /
D---E---F---G---A'---B'---C' < topic (HEAD)
            ^
          master
Run Code Online (Sandbox Code Playgroud)

您将使用重新设定您的topic(当前)分支master,从而将 A(现在是 A',因为它不是完全相同的提交)的祖先从 E 更改为 G。


Gol*_*rol 4

第一个,在 master 上重新调整主题/HEAD 的基础。

您将进行所有提交,包括最新的 master 内容。master 的当前状态/最新提交现在再次成为您工作的“基础”。

您将这项工作重新建立在(已在 master 中完成的工作)之上。

并且您的提交(副本)将添加到 master 中最后一次提交之后的末尾。感谢 Makoto 提供了解释上述内容的图形。

有关更多参考资料,我个人认为Atlassian 的本教程解释得非常好,包括类似的图形。基本的变基需要 2 分钟的阅读时间,然后继续交互式变基,这是工具包中一个非常非常好的功能!