【Git基础篇】Git之撤回修改

有时候写了一堆东西,发现都不需要了,怎么撤回修改呢?
有大致分为以下3种情况:

  • git add之前
  • git add之后,git commit 之前
  • git commit之后

git add之前

//这2个命令都不会撤回新建的文件,新建的文件只能手动删除
git checkout --filename //放弃该文件的修改
git checkout . //放弃所有文件的修改

git add之后,git commit之前

git reset HEAD filename //放弃该文件的commit,回退到git add之前的状态
git reset HEAD // 放弃所有文件的commit,回退到git add之前的状态

git commit之后

//不删除工作区改动的代码,撤销commit,不撤销git add .
git reset --soft HEAD^ //回退到上一个版本
git reset --soft <commit id> //回退到某个版本,可以使用git log查看某个版本的<commit id>
 //不删除工作区改动的代码,撤销commit,撤销git add .
git reset --mixed HEAD^//回退到上一个版本
git reset --mixed <commit id> //回退到某个版本
//删除工作区的代码,撤销commit,撤销git add . 回到上一次commit的状态
git reset --hard HEAD^ //回退到上一个版本
git reset --hard <commit id>  //回退到某个版本
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容