浅时光吖~  
生活明朗,万物可爱,加油~

我猜你进来找答案的时候表情应该是这样的

????????????

 

别着急!!!!!!!!!!!!!!!!

 

在使用Git的过程中,有时可能会有一些误操作

比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支

结果造成本地(远程)的分支或某些commit丢失

这时,我们可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除

一般情况下,gc对那些无用的object会保留很长时间后才清除的

reflog是git提供的一个内部工具,用于记录对git仓库进行的各种操作

可以使用git reflog show或git log -g命令来看到所有的操作日志

恢复的过程很简单,两部解决:

 

1. 通过 git reflog show 命令来找到我们需要恢复的信息对应的commitid,id就是前面标黄的数字

 

 

什么?你忘了分支名字只记得删除时间?那可以通过 git log -g 看提交的时间和日期来辨别

 

 

2. 通过 git branch recover_branch commitid 来建立一个新的分支

 

 recover_branch是你恢复分支想取的名字,commitid是你提交记录的id。复制粘贴抄作业别抄太全!!!

小手敲一下回车键?en,它没有操作成功提示。别大惊小怪的,下面看看成功了没有。

有人说为什么两条命令行找出的id长短都不一样?别问,问了就是不知道!用就行!

 

这样,我们就把丢失的东西给恢复到了recover_branch分支上了,去查看刚刚恢复的分支吧

 git checkout recover_branch

 

嗯,成功了!太高兴了,你又可以继续搬砖了!!!!!!!!!!!!!

 

 

 

 

 

 

posted on   浅时光吖~  阅读(1643)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
 
点击右上角即可分享
微信分享提示