git commit之后的撤销操作

实际开发中难免遇到误提交代码的囧事
今儿个修改了点代码,却没注意在切换分支的情况下commit了,虽然没有push上去,但是对于代码洁癖来说总是难受的~这个时候就可以用git一个神奇而霸道的命令解决啦!
git reset --hard commit_id
这个命令的作用是强制把文件恢复到某一次commit的状态。当然,需要配合命令 git log使用效果最佳。
接下来模拟一个操作过程:

  1. 我先写一串奇怪的注释提交上去


    git commit之后的撤销操作_第1张图片
    错误代码

    然后就可以看到有奇怪的commit了


    git commit之后的撤销操作_第2张图片
    奇怪的commit
  2. 这就是我要撤销的commit了,我要找到我的项目打开一个git bash执行git log
    git commit之后的撤销操作_第3张图片
    git log

这个时候就可以看到之前所有的commit了(中文的提交信息看不到,转码了,望解决),我们找到第二个的commit,这个其实是倒数排下来的,然后执行 git reset --hard 45cdf0 (这串id其实就是需要还原到的某个commit的id的前6位,也可以输入整个id的)

git commit之后的撤销操作_第4张图片
git reset --hard

  1. 然后这个时候我们查看修改的文件和push列表就会看到回到原来的状态了


    git commit之后的撤销操作_第5张图片
    file

    git commit之后的撤销操作_第6张图片
    push list

不得不提醒!文章开头就说了git reset --hard这个命令是一个极度霸道的命令,会把你本地所有的代码还原到上次commit的版本,所以如果不是代码需要全部还原,请慎用!

你可能感兴趣的:(git commit之后的撤销操作)