我试图拆分一个大提交,这个提交已经在How can I split up a Git commit buried in history?之后推进了一个较小的提交。现在,我也做了一些其他修改,并放弃了一些无用的修改。
现在我尝试了一个推送请求,但它失败了,因为我在变基期间意外删除了这些提交而不是恢复它们。 git status
显示:
$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 15 and 2 different commit(s) each, respectively.
#
nothing to commit (working directory clean)
我已经尝试克隆存储库,恢复该提交并推送它。接下来,我在工作目录中上游了。这不起作用,基本上是应用我的新修改,然后再将所有内容恢复到旧状态。
如何在我的提交之前插入这两个提交(快进?)之后再进行恢复提交?我需要做另一次变革吗?
我的提交看起来像这样:
A - B - C origin/master
\
D - E - F local working copy
我希望它看起来像这样:
A - B - C - revert_B - D - E - F
答案 0 :(得分:2)
是的,你只需要另一个rebase。如果master
位于F,则执行以下操作:
git checkout -b tmp origin/master
git revert B
git rebase tmp master
git branch -d tmp