我想将我的分支重新绑定到较旧的提交上,以排除较新提交添加的代码。
我所拥有的:
A---B---C---D---E master
F---G---H---I---J experiment
我想要什么:
A---B---C---D---E master
F---G---H---I---J experiment
假设我想在提交B
时创建我的experiment
分支,但没有意识到我在E
上创建了它。当我意识到这一点时,我已经进行了一系列提交,其中包括我不想要的代码更改(C
、D
、E
(。
如何将experiment
的起点移动到较旧的提交B
?
我读过这篇文章,但还没有看到任何关于将分支移动到旧提交的有用内容。
简单:
git rebase --onto B master experiment
该命令如下所示:git rebase --onto new-base discard-revisions-in-this-history this-is-what-i-want-to-rebase
。
Git实际上并不介意基础是新的还是旧的(一个很常见的简单例子:后台端口(。这一切都是关于每一次修订中引入的更改,这些更改将被重新定为基础。