git单文件恢复操作

[养成完善和保存设计稿的习惯。]


首先明确一下git文件的三种状态
    对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存,处于工作目录;已暂存表示把已修改的文件放在下次提交时要保存的清单中,处于暂存区域。


(1)情况一,文件已修改,但未提交

 此时,只需要git checkout 加文件名即可


(2)情况二,文件已暂存

例如,使用git rm 删除了某个文件,此时不需要git add,这个文件就已经在已提交的行列中,此时恢复文件需要两步。首先,git reset HEAD 加文件名,执行此步后,文件的状态会变成已修改,再使用git checkout恢复文件


(3)情况三,同一个文件,暂存区有一个版本,已修改区有一个版本

此时,使用git checkout HEAD 加文件名,可以同时撤销这两个改动,即暂存区和已修改区的两个版本都不会存在了



你可能感兴趣的:(git)