GIT 恢复单个文件到历史版本
2016-01-20 16:47
302 查看
之前一直没有用到这个功能,最近手误改错了一个文件,其实完全可以手动改回来,但是由于使用git,那么就要利用她所带的“高大上”的功能啊。Google了一下命令,都是一样的方法,引用如下:
但是自己实际测试了一下,发现文件根本没有改动,只是有unstaged commit的提示(说明一下,我是在windows环境下使用git客户端,linux不知道是不是同样的问题),如下图:
并且,一旦执行“git add .”,所有暂存区中的变化全都消失了。十分纠结,测试了很多次。后来仔细看了一下上图的英文,尝试了一下再执行git checkout命令试试,因为这个命令平时只适应于将文件恢复到上次递交的状态,而不能选择递交的版本。
虽然执行完毕后什么提示都没哟,但是查看文件可以看到,文件已经被修改为历史版本了。
总结
git将单个文件恢复到历史版本的正确方法如下:
git reset commit_id 文件路径
git checkout -- 文件路径
但是自己实际测试了一下,发现文件根本没有改动,只是有unstaged commit的提示(说明一下,我是在windows环境下使用git客户端,linux不知道是不是同样的问题),如下图:
并且,一旦执行“git add .”,所有暂存区中的变化全都消失了。十分纠结,测试了很多次。后来仔细看了一下上图的英文,尝试了一下再执行git checkout命令试试,因为这个命令平时只适应于将文件恢复到上次递交的状态,而不能选择递交的版本。
虽然执行完毕后什么提示都没哟,但是查看文件可以看到,文件已经被修改为历史版本了。
总结
git将单个文件恢复到历史版本的正确方法如下:
git reset commit_id 文件路径
git checkout -- 文件路径
相关文章推荐
- ndk多线程需要获取JNIEnv 或c通过类名+包名创建对象使用如下方法
- 再说c++ static
- Spring整合JMS(二)——三种消息监听器
- 关于 listview里面有EditText,然后想改变editText的值并且可以获取
- bundle
- response.sendRedirect()与request.getRequestDispatcher().forward()区别
- UILabel - 自定义行间距,字间距及段间距[并动态调节高](转)
- PagedPool 和 NoPagedPool的区别
- LAMP环境由http转到https
- UVALive 3708_Graveyard
- Quartz2D简单图形绘制及操作
- android 开发
- C# 串口与窗体应用程序的连接
- 连接SQL*Plus Worksheet
- Android Studio SDK 更新方法
- zoj 2338 The Towers of Hanoi Revisited
- Sofia_3gx 系统启动和telephony验证流程
- python获取zabbix监控图
- 关于UINavigationBar遮挡UIView,UITableview的研究
- Android群英传(作者:徐宜生)地址