回退未暂存版本代码
说明
- 回退未使用
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
,回退到指定版本