Git---撤销add、commit、push操作

2020-02-21  本文已影响0人  anloney
  1. 本地代码修改后没有任何操作,只想撤回到修改之前,即最后一次提交之后的代码
//git checkout -- 要撤销的文件
git checkout -- build.gradle   //表示撤销对build.gradle文件的修改
  1. 本地代码修改后作了 add 操作,想撤回此次 add 操作
    git status 先看一下add 中的文件,然后
 git reset HEAD               //如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
 git reset HEAD XXX/XXX.java  //就是对某个文件进行撤销了
  1. 本地代码修改后作了 git add 和 git commit 操作,想撤回到 git add 之前的代码
git reset commit_id    //撤销commit和add操作,不删除工作空间改动代码
git reset --hard commit_id  //撤销commit和add操作,代码变成上次commit后的代码,也就是删除工作空间改动代码。
git reset --soft HEAD^  //撤销commit,但不撤销add操作,不删除工作空间改动代码
git reset  HEAD^   //撤销commit和add操作,即回到上次commit后,不删除工作空间改动代码
git reset --mixed HEAD^   //和上方的等同,两个表示一样的结果
git reset --hard HEAD^  //撤销commit和add操作,删除工作空间改动代码

上边HEAD^的意思是上一个版本,也可以写成HEAD~1 ,如果你进行了2次commit,想都撤回,可以使用HEAD~2

另外,如果commit时注释写错了,只想改下注释,可以不用回退在重新commit,只需

git commit --amend   //此时会进入默认vim编辑器,修改注释完毕后保存就好了。

vim编辑器使用指南参考 git的常用命令及vim 使用教程

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

  1. 如果要是 提交了以后,可以使用 git revert:
    还原已经提交的修改,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交。
git revert HEAD       //撤销本次的 commit,即重置本次提交回到上一次提交之后
git revert HEAD^      //撤销前一次的 commit
git revert commit-id   // 撤销指定的版本,撤销也会作为一次提交进行保存

git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。

上一篇 下一篇

猜你喜欢

热点阅读