對工作區中文件的修改分為三種情況:
(1)還沒有git add
(2)已經git add
(3)已經git add,並再次進行修改
對於第一種情況,直接使用git checkout -- 文件,即可撤銷修改,撤銷修改就回到和版本庫一模一樣的樣子。
第二種情況,先使用git reset HEAD -- 文件,然后在使用git checkout -- 文件進行修改撤銷。
第三種情況 先使用git checkout -- 文件,文件就會變成添加到暫存區后的狀態,也就轉換成了“第二種情況”,然后,在使用情況(2)中的處理方法,即可將文件恢復到與版本庫一致的狀態。
總之,記住一點:“git checkout -- 文件”命令,撤銷的是工作中文件的修改,而“git reset HEAD -- 文件”命令,撤銷的是暫存區中文件的修改。