如何撤消“git revert head”?

时间:2015-06-13 07:30:48

标签: git

我想放弃当前分支中的更改而不提交,我不小心输入了命令git revert HEAD。 prev分支(早先提交)的变化似乎丢失了?

如何撤消git revert HEAD命令?

4 个答案:

答案 0 :(得分:6)

你可以做到

git reset --hard HEAD~1

它会将您带到当前HEAD之前的提交。

答案 1 :(得分:2)

如果你在恢复提交后没有做git push,那么Bidhan的回答就是现实。但是,如果您从那时起推送,则只需再次执行git revert HEAD即可恢复还原。

答案 2 :(得分:1)

git revert只是创建一个新提交。如果你没有推动它,你可以撤消"它使用--keep

 git reset --keep HEAD~1

--keep会将HEAD重置为先前的提交并保留未提交的本地更改。

 git reset --hard HEAD~1
如果使用

--hard,则会丢弃工作目录中的所有本地更改。

另一种方式是再次使用git revert。由于命令git revert只是创建一个撤消另一个的提交,因此您可以再次运行此命令:

git revert HEAD

它会撤消您之前的恢复并为此添加另一个提交,尽管提交消息会变得更加混乱。

答案 3 :(得分:0)

git reset --keep是最直接的做法,但我倾向于做很多git rebase -i

当交互式弹出编辑器时,提示列表不在(默认情况下)跟踪的远程分支中,删除最后一行,该行应该是与还原相对应的行。

您也可以压缩或重新排序这些行,或者停止并编辑旧的提交。