在git下,文件有三种状态:
1. 已经修改,但未add到仓库,即还没有运行 git add filename;
2. 已经添加到本地仓库,但还未提交,即还没有运行git commit -m "message";
3. 已经提交,即运行了git commit -m "message"
针对以上3种情况,回滚文件到修改前有如下对应操作:
1. 已修改,未add
运行git checkout -- filename
如果文件名中有空格,就运行git checkout . (这个命令是回滚所有修改的文件)
2. 已add,未commit
运行 git reset HEAD filename
或 git reset HEAD .
3. 已commit
先运行 git log 查看所有的提交历史记录
再回滚到指定的历史版本 git reset --hard commitid (其中commitid是版本的id,一般都很长,不需要写全,一般我写前6个就可以了)
感谢上官云清的博客:https://www.cnblogs.com/qufanblog/p/7606105.html。本文抄自上官云清博客,只有微量修改,仅作自己的学习笔记。