在Git中,假设我提交了A和B。
A---[B]
但是我随后进行了还原
git revert HEAD
所以现在我在这里:
[A]---B
如何取消撤销,以便我可以返回到B?
A---[B]
但是我随后进行了还原
git revert HEAD
所以现在我在这里:
[A]---B
如何取消撤销,以便我可以返回到B?
您有两个一般的选择:
git reset --hard HEAD^
放弃撤销提交是第二个选项,只适用于您没有在其他地方推送自己的更改。事实上,如果您尚未在任何地方推送第一个撤销提交,则可以使用
git reset --hard
回滚而不创建任何撤销提交。
git stash
。 - ScottyBlades如果你还没有完全完成它,即在gitbash
中你看到类似以下内容:
Username@Host MINGW64 /d/code/your-project (feature|REVERTING)
如果你想中止,可以使用 git revert --abort
命令来终止操作。
如果你已经执行了操作但不想重置,那么更改仍然存在。你可以使用 git reset
命令来改变状态。相比于 --hard
,你也可以使用 --soft
(保留所有更改)。
git reset --soft HEAD^ // discard the last commit, keeping all the changes after that
git reset --soft HEAD~3 // discart last 3 commits. Don't know if it works for commits of others.
git reset --hard
之间执行git revert --abort
,因为第一次报错了。 - Penghe Geng
A---B---!B
,其中!B
是撤销B
的提交。Greg 的两个答案分别创建了一个撤销!B
的提交!!B
或将你返回到B
。 - Cascabel