如何撤销提交

5

你好,我想撤销上次提交。我做的是对文件进行了一些更改,然后将它们提交了,但我还没有将它们推送到主仓库。执行 git commit -m "comment" 命令后,我运行了 git status 命令,得到了以下信息:

Your branch is ahead of 'origin/demo' by 1 commit

现在我想撤销上一次的提交,那么我该怎么做呢?


1
已在此处解决:链接 - Max Keller
2个回答

17

如果你想完全撤销它:

git reset --hard HEAD^

如果您想撤销更改但保留已暂存的更改(在提交之前):

git reset --soft HEAD^

如果您想撤消更改并保留已修改的文件(在暂存之前):

git reset --mixed HEAD^

请问这里的HEAD是什么意思?我应该使用你在这里输入的相同命令吗? - Om3ga
HEAD是一个文件,它始终指向当前分支上的最后一次提交,或者如果您已经检出了提交(处于分离的HEAD状态),那么它的值就是该提交。是的,您应该按原样使用该命令,假设您没有切换分支等操作。 - ralphtheninja

1

如果您想通过创建另一个提交来撤销您的提交(假设master是您的工作分支):

git revert master

要撤消它,也就是假装它从未发生过:

git reset --hard master~

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接