对工作区中文件的修改分为三种情况:
(1)还没有git add
(2)已经git add
(3)已经git add,并再次进行修改
对于第一种情况,直接使用git checkout -- 文件,即可撤销修改,撤销修改就回到和版本库一模一样的样子。
第二种情况,先使用git reset HEAD -- 文件,然后在使用git checkout -- 文件进行修改撤销。
第三种情况 先使用git checkout -- 文件,文件就会变成添加到暂存区后的状态,也就转换成了“第二种情况”,然后,在使用情况(2)中的处理方法,即可将文件恢复到与版本库一致的状态。
总之,记住一点:“git checkout -- 文件”命令,撤销的是工作中文件的修改,而“git reset HEAD -- 文件”命令,撤销的是暂存区中文件的修改。