我希望能够撤销当前分支的更改,但不进行提交,结果误输入了git revert HEAD
命令。之前提交的prev分支更改似乎丢失了?
如何撤销git revert HEAD
命令?
我希望能够撤销当前分支的更改,但不进行提交,结果误输入了git revert HEAD
命令。之前提交的prev分支更改似乎丢失了?
如何撤销git revert HEAD
命令?
您可以做的事情:
git reset --hard HEAD~1
如果您在还原提交后没有执行git push
,那么Bidhan的答案是正确的。但是,如果您已经推送了,那么您需要通过再次执行git revert HEAD
来撤销您的还原。
git revert
只会创建一个新的提交。如果你还没有推送它,你可以使用 --keep
来“撤消”它:
git reset --keep HEAD~1
--keep
会将 HEAD 重置到之前的提交,并保留未提交的本地更改。
git reset --hard HEAD~1
--hard
,会丢弃您工作目录中的所有本地更改。git revert
。因为命令 git revert
只是创建一个撤消另一个提交的提交,所以可以再次运行此命令:
git revert HEAD
它将撤消您之前的还原并添加另一个提交,但提交消息会变得混乱。git revert HEAD
拯救了我10天的离线工作。非常感谢! - Samuelgit reset --keep
是最直接的方法,但我倾向于使用很多 git rebase -i
。
当交互式弹出编辑器并列出默认情况下未跟踪的远程分支中没有的提交列表时,请删除最后一行,该行应对应还原操作。
您还可以压缩或重新排序行,或停止并编辑旧的提交。