git操作后的各种后悔情况解决

这篇文章之前是写了一个git add之后,没有commit的还原方法。在不断的开发过程中,发现有时候脑子迷糊还会遇到其他各种‘后悔的’情况,因此做个总结。

情况一:git add ./之后,并没有commit

git add之后并没有commit,但是代码被弄回到最初的状态(也就是代码回到add之前),这个时候,后悔了,想要回add的代码

    执行: $ find .git/objects -type f | xargs ls -lt | sed 60q   这里的60q就是最近的60次缓存

大概是这个意思,这个时候有个东西就很重要了,就是上面划线的地方

最后使用命令:git cat-file -p 064ca1f...(太多了) > a.md 后面的文件名可以自己定义。就可以发现你要得文件,回到了这个a.md里面了,兴奋的不要不要的。

情况二:git commit过后要回到上一个之前的一个记录

这种情况最常见,我们大家也基本都熟悉,也知道该怎么操作

执行:git log 查看操作日志,找到你想回到的那条记录的commitid,最后执行git reset --hard commitid

如果你只是想回到上一个版本,可以直接执行:

git reset --hard HEAD^

如果你能确定回到第几个版本,那么可以加个数字n   git reset --hard HEAD~n

情况三:git commit过后,回到了一个版本,这时候想要比当前版本还新的记录

执行:git reflog查看每一步操作的日志,查看记录,找到你想回到的那条记录前面的commitid(git 操作注释很重要,在你后悔的时候,能一举定位),最后git reset --hard commitid

个人拙见,git属于工具类,所以解决问题最重要。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值