git rebase命令-混乱

时间:2018-12-29 08:20:31

标签: git

git-scm中,他们说应该被合并的提交完全(作为新提交)移动到当前分支的尖端:

因此,而不是合并操作:

enter image description here

我们使用rebase:

enter image description here

请注意,C3保持原始状态。

但是,当我看着git-tower时,它们表明分支并没有移到尖端,而是移到了起点:

  

我们想要将分支B的更改集成到分支A,但是现在   通过使用rebase。

enter image description here

重新设置基准后:

enter image description here

问题:

这是怎么回事?

git-scm显示它已移动到分支的 tip ,而git-tower显示它不是。

1 个答案:

答案 0 :(得分:1)

两者都显示相同的操作:两个分支都移到新上游分支的尖端(而不是起点)。

  • experiment被移到master

    的顶部
    git checkout experiment
    git rebase master 
    
  • branch-A被移到branch-B

    的顶部
    git checkout branch-A
    git rebase branch-B
    
  

我们想将分支B(!!)的更改集成到分支A中,

这就是git rebase branch-B的作用:它在branch-A的顶部重播branch-B的提交,确保branch-B的任何提交现在都是branch-A的一部分:从branch-B起的更改现在已纳入branch-A的(历史的一部分)。