假设工作区的文件add且commit过一次
然后再进行下面的操作:
- 在工作区修改了文件, 但是还没有add到暂存区
执行下面的命令, 可以恢复到与最后的版本一致的状态, 也就是修改前的状态
git checkout -- 文件名
- 已经add到暂存区, 然后在工作区修改了文件
执行下面的命令, 可以恢复到和暂存区一致的状态
git checkout -- 文件名
前面2种情况, 都是在工作区修改了文件, 修改的状态还没有add到暂存区
- 修改了文件, 又add到了暂存区, 但是还没有commit
执行下面的命令, 可以将暂存区的文件退回到工作区
git reset HEAD 文件名
退回到工作区的文件是被修改过的, 那么再执行下面的命令, 可以恢复到未修改的状态
git checkout -- 文件名