撤销 git rebase skip on local
Undo git rebase skip on local
我做了 git rebase HEAD~3
来编辑一些提交消息,但是当我进入交互模式时,它显示的不仅仅是我最近的 3 条提交消息。它显示了一堆其他提交。每次我继续这些其他提交时,它都会警告 MERGE_CONFLICT
而我只是做了 git rebase --skip
因为这些不是我的提交而且它们也是旧的提交。我一直在做 git rebase --skip
直到 rebase 完成。然后我做了 git status
并且它说我的分支已经偏离了我上次的提交。我退出了上次提交,现在我有很多冲突。我如何在开始此 REBASE 之前撤消所有操作。我只想将我的分支恢复到我推送的最后一次提交。变基完成后,我还没有强制推送,所以一切仍然是本地的。我想撤消这一切。
对您要返回的最后一次提交执行 hard reset
:
$ git log # copy the commit hash
$ git reset --hard <commit-hash>
或者,如果您希望本地历史记录与远程分支相同,则执行 hard reset
本地分支与远程分支:
比如说,本地分支名称是 b1
:
$ git fetch
$ git reset --hard origin/b1
我做了 git rebase HEAD~3
来编辑一些提交消息,但是当我进入交互模式时,它显示的不仅仅是我最近的 3 条提交消息。它显示了一堆其他提交。每次我继续这些其他提交时,它都会警告 MERGE_CONFLICT
而我只是做了 git rebase --skip
因为这些不是我的提交而且它们也是旧的提交。我一直在做 git rebase --skip
直到 rebase 完成。然后我做了 git status
并且它说我的分支已经偏离了我上次的提交。我退出了上次提交,现在我有很多冲突。我如何在开始此 REBASE 之前撤消所有操作。我只想将我的分支恢复到我推送的最后一次提交。变基完成后,我还没有强制推送,所以一切仍然是本地的。我想撤消这一切。
对您要返回的最后一次提交执行 hard reset
:
$ git log # copy the commit hash
$ git reset --hard <commit-hash>
或者,如果您希望本地历史记录与远程分支相同,则执行 hard reset
本地分支与远程分支:
比如说,本地分支名称是 b1
:
$ git fetch
$ git reset --hard origin/b1