Git版本回退

回退未暂存版本代码

说明

  • 回退未使用git add命令添加的代码
  • 本地修改消失
  • 新文件不会丢失

命令

  • git checkout -- 文件名,回退指定文件
  • git checkout .,回退所有未暂存的文件

回退暂存代码

说明

  • 已经使用git add命令添加的文件
  • 就是撤销git add命令,修改的内容不会丢失

命令

  • git reset HEAD 文件名,撤销暂存指定文件
  • git reset HEAD .,撤销所有暂存文件

回退已经提交的代码

说明

  • 就是版本回滚
  • 回退后可以使用git reflog来再次回退到未来的版本,只要没有清除缓存并且保存有提交的id

命令

  • git reset --hard HEAD^,回退到上个版本(可以扩展为^回退步数,~回退步数,这里^是分支,是本分支提交(^和的概念我没有弄清楚))
  • git reset --hard 提交id,回退到指定版本