码迷,mamicode.com
首页 > 其他好文 > 详细

git 错误操作恢复

时间:2014-06-27 07:59:57      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:com   文件   os      代码   时间   

前天辛苦用了一天时间,写完关键代码后。用 git 提交,由于修改的东东较多,用一个文件保存了修改的注释,用于 git commit -F commit.txt 。由于是在 windows 平台,所以这个文件是用的 gbk 编码。所以提交后,用 git log 查看日志时,出现乱码。此时就想用 git rebase -i HEAD~1 来修改注释。在选择命令时,用了 x ,进行命令行后,我直接 git commit -F commit.txt.。导致刚才的提交丢失。所以得恢复刚才的提交。

git 中有命令: git fsck --lost-found
可以查到丢失的。由于项目有段时间了,所以找到了一千多条记录。要在这一千条记录中找到我刚才丢失的那条可真不容易。所以此法不通。

于是,我浏览 .git  目录,发现里面有个 logs 目录,查看 HEAD,居然能看到刚才提交操作的日志,把那个版本号 git show,就是刚才提交的类容。

再把 .git/refs/heads/master 中的内容改成刚才的版本号,保存。再 git log。哈哈。。。刚才丢失的类容找回来了。

刚才在写这篇文章时,又百度了一把(天朝屏蔽了google,百度要用时不给力,不用时,却跑出来),发现  git 中有 git reflog 命令,能查看所有的操作日志。用 git cherry-pick 来进行恢复。比我前天的操作方法要安全。

 

git 错误操作恢复,布布扣,bubuko.com

git 错误操作恢复

标签:com   文件   os      代码   时间   

原文地址:http://blog.csdn.net/kl222/article/details/34834245

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!