跳转至

撤销commit操作

在我们使用git作为版本控制工具进行代码管理之后,经常性的会碰到一个问题:git commit后,如何撤销commit,下面详细讲一下。

git add newFiles

git commit -m '新增xx页面'

执行commit后,还没执行push时,想要撤销这次的commit,该怎么办?

解决方案:

我们可以使用命令:git reset --soft HEAD^ 这样就成功撤销了commit。

使用git reset --hard HEAD^ 这样连add也撤销了。

*注:reset 命令只能回滚最新的提交,无法满足保留最后一次提交只回滚之前的某次提交。

命令解释:

HEAD表示上一个版本,即上一次的commit,几个代表几次提交,如果回滚两次就是HEAD^^。也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2

--soft 不删除工作空间的改动代码,撤销commit,不撤销add

--hard 删除工作空间的代码,撤销commit且撤销add

那提交到了远程仓库后想回退怎么办呢?

分为两个步骤

1.本地回退,回退到上次提交

git reset --hard HEAD^

2.远程回退,然后强制推送当前版本到云端

git push origin HEAD --force