git 错误操作恢复

77 篇文章 1 订阅
54 篇文章 1 订阅

前天辛苦用了一天时间,写完关键代码后。用 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 来进行恢复。比我前天的操作方法要安全。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值