Git恢复被修改的文件--已提交到远程仓库
文件已提交到远程仓库,想要恢复到某个历史版本
但是自己实际测试了一下,发现文件根本没有改动,只是有unstaged commit的提示(说明一下,我是在windows环境下使用git客户端,linux不知道是不是同样的问题),如下图:
并且,一旦执行“git add .”,所有暂存区中的变化全都消失了。十分纠结,测试了很多次。后来仔细看了一下上图的英文,尝试了一下再执行git checkout命令试试,因为这个命令平时只适应于将文件恢复到上次递交的状态,而不能选择递交的版本。
虽然执行完毕后什么提示都没哟,但是查看文件可以看到,文件已经被修改为历史版本了。
总结
git将单个文件恢复到历史版本的正确方法如下:
git reset commit_id 文件路径
git checkout -- 文件路径
然后git commit -m""
上传到远程仓库 git push origin master