撤销git commit
git add .
git commit -m 'cahnges'
如上述操作,执行commit还没执行push,此时撤销这次的commit。如下:
# 不删除工作空间的改动代码 ,撤销commit,不撤销add
git reset --soft HEAD^
# 删除工作空间的改动代码,撤销commit且撤销add
git reset --hard HEAD^
HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2。
如果只是commit后面的注释写错了,先别急着撤销,可以运行git commit --amend
进入vim编辑模式,修改完保存即可。参考GIT: 修改已提交的commit以及已push到远程的任意未合并节点[commit -amend/rebase]
撤销git add
git add files
如上述操作,执行add还没执行commit,此时撤销这次的add。如下:
# 撤销单个文件
git reset HEAD file
# 撤销所有文件
git reset HEAD