Chinaunix首页 | 论坛 | 博客
  • 博客访问: 364543
  • 博文数量: 19
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 262
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-17 23:23
个人简介

右手代碼,左手《史記》

文章分类
文章存档

2019年(1)

2014年(5)

2013年(2)

2011年(1)

2010年(6)

2009年(4)

我的朋友

分类: Windows平台

2014-09-20 20:17:42

描述
    之前一直没有用到这个功能,最近手误改错了一个文件,其实完全可以手动改回来,但是由于使用git,那么就要利用她所带的“高大上”的功能啊。
   google了一下命令,都是一样的方法,引用如下:


    但是自己实际测试了一下,发现文件根本没有改动,只是有unstaged commit的提示(说明一下,我是在windows环境下使用git客户端,linux不知道是不是同样的问题),如下图:

并且,一旦执行“git add .”,所有暂存区中的变化全都消失了。十分纠结,测试了很多次。后来仔细看了一下上图的英文,尝试了一下再执行git checkout命令试试,因为这个命令平时只适应于将文件恢复到上次递交的状态,而不能选择递交的版本。

虽然执行完毕后什么提示都没哟,但是查看文件可以看到,文件已经被修改为历史版本了。

总结
   git将单个文件恢复到历史版本的正确方法如下:
   git reset commit_id 文件路径
   git checkout -- 文件路径
阅读(19215) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~