描述
以前一直没有用到这个功能,最近手误改错了一个文件,其实彻底能够手动改回来,可是因为使用git,那么就要利用她所带的“高大上”的功能啊。
google了一下命令,都是同样的方法,引用以下:
可是本身实际测试了一下,发现文件根本没有改动,只是有unstaged commit的提示(说明一下,我是在windows环境下使用git客户端,linux不知道是否是一样的问题),以下图:
而且,一旦执行“git add .”,全部暂存区中的变化全都消失了。十分纠结,测试了不少次。后来仔细看了一下上图的英文,尝试了一下再执行git checkout命令试试,由于这个命令平时只适应于将文件恢复到上次递交的状态,而不能选择递交的版本。
虽然执行完毕后什么提示都没哟,可是查看文件能够看到,文件已经被修改成历史版本了。
总结
git将单个文件恢复到历史版本的正确方法以下:
git reset commit_id 文件路径
git checkout -- 文件路径linux
转帖后记:git
git 能够按照每一个文件查询commit
windows
每一个commit 其实都是一个 技术文件修改的集合。测试
使用tortoisegit 恢复文件的方法是:google