1. 已经add之后的文件(staged),想撤销
git reset HEAD xxx.txt
2. 已经rm之后的文件(staged),想撤销(文件已经不在working tree里了,但是别惊慌,文件还在working dir里)
git reset HEAD xxx.txt
此时发现working tree里没有xxx.txt(unstaged),所以还需要
git checkout -- xxx.txt
3. 已经commit之后的文件(unmodified),想撤销
git rm xxx.txt
git commit -m "delete xxx.txt"
*git reset HEAD只是把文件从stage区域踢出来,不修改文件;git checkout 才会真正修改文件
阅读(2472) | 评论(0) | 转发(0) |