git误操作版本回退的方法

场景:在使用git进行代码提交的时候不小心执行了git reset 命令进行了版本回退但是在这之前进行了git add .  git commit -m "提交"等命令,正常情况下就可以直接使用 git reset 版本号 进行代码的回退,但是发现自己不能找打上一个提交的版本号,

但是回退之前的代码没有在暂存区找到,导致不能使用git reset --hard 版本号方法回退到提交之前的代码,我想是我没有存到暂存区吗??这个问题应该怎么解决,代码都丢失了。通过查询最终我找回了自己的代码

最终通过 Git fsck

git fsck

是Git提供的一个底层命令,用于检查Git对象库的完整性和一致性。它会扫描Git对象库中的所有对象,并输出一些可能存在的问题,如损坏的对象、丢失的链接等。 

执行git fsck命令之后的输出 这里我们发现了 dangling commit 

检查过程包括检查对象目录和对象本身的完整性。在你的输出中,"dangling commit"表示有一些孤立的提交(commit),它们没有被任何分支或标签引用,也没有直接指向其他提交。这些提交可能是因为之前的操作导致的,比如删除了分支或标签,但提交对象仍然存在,因此被称为"孤立"

最终找到了孤立的提交   重点进行了提交,所以使用 

git reset --hard 版本号

成功进行了版本回退

再次进行提交代码操作的时候就执行了

git branch --新的分支名字  // 创建分支操作
git checkout 分支名称      // 切换分支

或者

git checkout -b 新分支名称   // 创建分支的同时,切换到该分支上

 之后就是

git pull origin 远程分支名称

 这样就进行了代码的推送,避免和主分支产生冲突导致代码报错等问题!

参考博客

☞十一 的博客

Cloud_N 的博客

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值