首页 > 代码库 > git 错误操作恢复
git 错误操作恢复
前天辛苦用了一天时间,写完关键代码后。用 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 来进行恢复。比我前天的操作方法要安全。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。