假设分支看起来像这样
master: A B C D*
\
my-branch: E F G H*
我希望它看起来像这样
master: A B C D*
\
my-branch: E F G H*
假设分支看起来像这样
master: A B C D*
\
my-branch: E F G H*
我希望它看起来像这样
master: A B C D*
\
my-branch: E F G H*
只需要将您的分支变基到主分支上:
git checkout my-branch
git rebase master
git rebase master my-branch
,它实际上执行了上述两个命令。 - Adrian Shum将主分支rebase到你的分支上,然后将你的分支合并到主分支。
git checkout my-branch
git rebase master
git checkout master
git merge my-branch
my-branch
中的第一个提交是提交A
。提交A
也是分支master
中的第一个提交。该提交位于两个分支中。当完成变基时,您将获得四个新提交:原始的四个E-F-G-H
提交仍然存在,E
的父提交仍然是B
,因此名称my-branch
标识了提交H
的副本。如果我们称之为H-prime(H'
),则名称my-branch
定位到H'
,它定位到G'
,它定位到F'
,它定位到E'
,它定位到D
。 - torekE'
与E
在两个方面不同:它有一个不同的父级,并且它有(可能)一个不同的快照(假设D
中的快照与B
中的不同)。 - torekgit cat-file -p HEAD
查看它。 - torek