在下面的历史记录中,假设提交
如何得到这样的历史记录:
B
到E
与提交F
到I
完全独立。 br-1 master
⋯ ---A---B---C---D---E---F---G---H---I
如何得到这样的历史记录:
master
⋯ ---A---F'--G'--H'--I'
\
`-B---C---D---E
br-1
br-1
和master
是指分支。 F'
中的prime表示提交F'
包含与提交F
相同的更改。 G'
,H'
和I'
同理。
(所需操作实际上是从上面显示的第二个历史记录开始执行git rebase br-1
的反操作。)
git
的术语/命名方式非常混乱,争论什么是“真正的”已经没有意义了。例如,git
中的“分支”在git
之外的任何场景中都不是分支。或者说,在“交互式变基”中,人们可以做一些在git
之外从未被描述为“变基”的事情。这个疯狂的“仅限于 git”的术语列表可以继续下去。(顺便说一句,这就是我认为学习git
如此困难的原因之一,每当我看到 SO 在其右侧栏中投放的“相关”git
问题的疯狂投票数时,我就会想起这一点。) - kjo