1
我试图分裂一个大的提交已被推入一个较小的后面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)
我已经尝试克隆库,恢复该承诺,将其推。接下来,我在工作目录中向上拉。这不起作用,基本上是应用我的新修改,然后再将所有东西恢复到旧状态。
在我提交之后提交还原提交之前,如何插入这两个提交(快进?)?我需要再做一次rebase吗?
我提交看起来是这样的:
A - B - C origin/master
\
D - E - F local working copy
我希望它看起来像这样:
A - B - C - revert_B - D - E - F
我已按问题更新了ASCII图形。 – Lekensteyn
更新了我的答案。这应该照顾它。 –
我收到一条警告:“警告:不会删除尚未合并到'refs/remotes/origin/master'的分支'tmp',即使它合并到了HEAD。错误:分支'tmp'不是完全合并,如果你确定要删除它,运行'git branch -D tmp'。“。这是否会发生是因为我在不向主人推送的情况下在'tmp'中提交了一个提交? (是否安全地继续删除它?) – Lekensteyn