git commit后,如何撤销commit和git撤销push

修改了本地的代码,然后使用:

git add file
git commit -m '修改原因'

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

解决方案:
使用命令:

git reset --soft HEAD^

这样就成功撤销了commit,如果想要连着add也撤销的话,--soft改为--hard(删除工作空间的改动代码)。

命令详解:

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

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

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

另外一点,如果commit注释写错了,先要改一下注释,有其他方法也能实现,如:

git commit --amend
这时候会进入vim编辑器,修改完成你要的注释后保存即可。

 
 
同样

有时候push到了github后,发现刚刚提交的commit有问题,如何撤销操作呢

首先,在本地回退版本,使用如下命令:
git reset --hard HEAD^
^的个数表示回退几个版本,^^表示回到上上个版本。

然后,强制push:
git push origin HEAD --force

 


原文链接:https://www.jianshu.com/p/a9f327da3562
原文链接:https://blog.csdn.net/chenyiyue/article/details/79461624

posted @ 2021-07-06 16:43  两只小老虎  阅读(1080)  评论(0编辑  收藏  举报