在git中,我说我提交A和B
A---[B]
然后我回复
git revert HEAD
所以我现在在那里:
[A]---B
如何取消恢复以便我可以返回B?
答案 0 :(得分:50)
您有两种常规选择:
git reset --hard HEAD ^
第二个选项仅适用于不在其他任何地方推送您的更改的情况。事实上,如果你还没有在任何地方推送你的第一个恢复提交,你可以简单地使用
git reset --hard
回滚而不创建任何恢复提交。
答案 1 :(得分:1)
如果您尚未完全完成操作,即在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
答案 2 :(得分:0)
创建新的commit
reverts another commit
时,您可以像提交一样威胁它。
所以基本上您有很多选择,例如
git rebase -i
(删除还原提交)git reset --hard <commitID>
(在还原之前重置为提交,您将丢失所有本地更改)git reset --soft <commitID>
(与上面相同,但保留本地更改)- 从技术上讲,您可以使用
git revert <commitId>
还原您的还原