代码被自己作死回滚覆盖,本地代码全丢失(git中都没有),不过还好,找回来了。

TortoiseGit实现Git本地代码的恢复/还原/回滚 今天推送文件时一不小心Fetch了,删除文件后不知道怎么恢复原来版本,上网查了下才发现git原来这么强大,在此记录下方法,以后再研究git: 这次失误告诉我,代码乱了不要紧千万不要delete整个文件夹,否则log都查不到。 TortoiseGit有两种回滚代码方式, 一种是导出指定版本代码为zip格式,不影响源代码;另一种是直接在源代码上回滚, 指定版本之后写的代码都会被删除。下面分别介绍这两种... 阅读详情
AI摘要

本文记述了一位开发者在IDEA中意外丢失一个月项目代码后的恢复经历,分享了使用git命令回滚和IDEA自动记录功能成功找回代码的方法。

事情起因
我写了一个月的项目,期间搭建完环境提交过一次仓库,使用的是单独外拉出文件拷贝,然后使用命令行提交
最后写完整个项目,想着赶紧提交到仓库,却发现idea也有git提交按钮,想着要是软件一次性提交,那我岂不是很省事,不用再复制外拉,单独提交了。
当然,如果和我想的一样,也就不会有这篇文章了,我会介绍两种方法恢复代码,下面都有详细介绍
1、你使用了commit提交,可用通过git命令回滚到之前版本,因为我没提交,所以这个方法失效
2、使用idea自动记录,回滚到历史版本
我先是使用git提交,然后出现了一个按钮,我就点了,没想到直接帮我将代码和git hub同步了,也就是刚搭建完环境的时候,我上传到仓库的内个版本,我一个月的代码全没了
我当时根本不慌,因为我有备份代码。
结果,我选错了文件夹,将上次外拉出来的文件夹备份了,现在我什么都没有了

在这里插入图片描述

一、git Commit提交回滚(没有解决我的问题)

然后我到git hub中看,发现代码没有被上传,心瞬间凉了
那应该是只做了本地的提交,我现在使用git回滚还来得及
提前声明,idea也没有帮我本地提交,我没找到可以回滚的id。但我使用外拉,单独使用命令行提交的时候,出了错,就会使用这种方法,回滚到上次提交的版本,非常好用
1、git log查看最近提交日志
看见commit后面的id了么,我们可以通过id回滚版本

在这里插入图片描述

2、回滚命令
git reset --soft commit_id:表示撤销指定id的提交
git reset --hard HEAD^:回退到上个版本
git reset --hard HEAD~index:(index是一个数字) 回退到前index次提交之前,index是几,就回退到几次之前
git reset --hard commit_id:回退到指定id的代码,就是将现在的代码和对应id版本的代码做一次同步
如果使用回退,我上次提交的时候,只有我一开始搭建好环境的代码,因为idea没有帮我提交(因为我不会用),所以此方法对我无效

二、idea回退功能(强推)

收集了各种资料,发现idea会自动记录你每次保存的版本,通过idea你可以回退到任何一次做了更改的版本

在这里插入图片描述
在这里插入图片描述

到这里我的代码总算回来了,idea是真香,还有很多恢复代码的办法,我昨天收集了很多资料,但对我的情况都没用,我这里只写出,我使用并且有效的,如果本篇文章你没法恢复你的代码,请不要放弃,一定是可以恢复的,但凡我当时认了命,我没准就只能重写了。
.git如何恢复代码 如果.git目录保持不变,则可以使用git checkout -f HEAD从当前提交还原所有文件。这将覆盖任何现有文件。如果在运行git checkout -f HEAD之后什么也没有出现,那么试着用git branch -v和git reflog查找分支和提交,看看您是否识别出任何东西。执行git checkout -f ,其中是从上一个Git输出中看到的提交哈希。 阅读详情

相关推荐

TensorRT-LLM.V1.1.0rc0:在无 GitHub 访问权限的服务器上编译 TensorRT-LLM 的完整实践

1.NGC上的预构建发布容器进行部署,见《2.通过pip进行部署。3.从源头构建再部署。在实际开发中,我们常常面临这样的场景:本地笔记本为 Windows 系统,虽然可以访问 GitHub,但受限于硬件性能,编译大型项目(如 TensorRT-LLM)耗时过长;而公司或实验室提供的 Linux 服务器性能强劲,适合编译任务,但却因网络策略限制无法连接外网,尤其是无法访问 GitHub。。

xinvictory的专栏 1203

Git 之 reset --hard 回退/回滚到之前的版本代码后,后悔了,如何在恢复之后的版本的方法简单整理

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。[1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。本节介绍,Git 之 reset --hard 回退/回滚到之前的版本代码后,可能又由于冲动,可能需要恢复回退/回滚版本,这里简单整理回退的方法,如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。

仙魁XAN 1万+

带你一分钟了解电感与磁珠的区别

在电路设计中会经常使用到电感和磁珠,虽然在电路中的作用有所不同,但它们都属于磁性电子元器件,本文简单介绍下电感和磁珠的区别电感和磁珠电感和磁珠的结构主要由磁性材料金属线圈和外壳组成,具体结构如下图所示:电感磁珠结构图电感其实是金属线圈缠绕在磁芯上,而磁珠是在内部折叠后外围包裹着铁氧体磁性材料。电感器(Inductor)又称扼流器、电抗器、动态电抗器是储能器件,能够把电能转化为磁能而存储起来的元件。磁珠则是能量转换(消耗)器件,将流过他的高频信号以热能的形式消耗掉。

攻城狮鹏哥 1409

git/github 常规操作第四篇,如何用命令回退(回滚/还原)代码,看这篇文章就够用了

当我们代码合并错误,或者代码因为某种原因找不到了,但是在历史版本中有最完整的代码,我们要怎么回滚或回退到对应版本还原代码呢,下面就用两种方式来回退。两者有质的区别,reset后,中间的废弃版本会丢失,而revert会新建一个版本来覆盖。第一种方式:重置reset (谨慎:重置的方式不会保留废弃的提交记录)revert后:新增了一个版本四覆盖原理的版本。1、查看并找到我们要回退的版本号。1、查看并找到我们要还原的版本号。revert前:有版本一、二、三。reset前:有版本一、二、三。

weixin_43538316的博客 5632

别再被坑了!手把手教你从官网下载免费正版Notepad++(附最新网盘链接)

本文详细指导如何从Notepad++官网安全下载正版软件,避免山寨版本带来的安全风险。通过识别官网特征、推荐官方下载渠道、揭露山寨网站骗局及验证正版功能,帮助用户高效获取纯净的Notepad++代码编辑器,并分享实用插件和配置优化技巧。

weixin_42527654的博客 562

使用git时本地代码被覆盖怎么办

使用git时本地代码被覆盖怎么办

weixin_46643875的博客 8532

yolov5直接调用zed相机实现三维测距(python)

zed代码比较简洁,但是一定要把环境配置好,后续自己会把他当做普通双目标定,去对比分析效果,并完善相关功能。

积极向上的mr.d的博客 1万+

Subversion与Plone项目源码管理实战指南

源码管理(SCM)本质是保障数字工作流中‘修改→验证→回退’闭环的确定性机制,其核心价值不在于协作规模,而在于变化的可追溯性与状态的可重现性。Subversion以集中式模型、清晰的trunk/branches/tags结构和细粒度权限控制,为Plone等模块化Python应用提供了高度契合的版本治理能力;它与Buildout深度集成,实现配置即代码、环境即镜像,有效遏制环境漂移。在单人小项目、定制化CMS或长期维护型系统中,SVN凭借低认知门槛、强审计性与高操作确定性,仍具不可替代的工程价值。本文结合Pl

z466459262的专栏 300

第1讲|AI产品经理全景图谱:不是“会用AI工具”,而是能对AI产品结果负责

本文从岗位本质出发,系统拆解 AI 产品经理的职责、岗位类型与能力模型,帮助读者理解 AI PM 与传统 PM 的核心差异,明确自己适合的转型方向,并建立“对 AI 产品结果负责”的产品认知。

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 1015

FPGA电路设计1——芯片原理图和封装制作流程

本文详细介绍了FPGA电路板设计的学习过程,以Xilinx Kintex-7系列FPGA为例。主要内容包括:1)从官网下载芯片引脚分配文件的方法;2)原理图库绘制流程,重点讲解Bank划分(配置Bank、HR/HP IO Bank、高速收发器Bank)及利用Excel预处理数据;3)使用Altium Designer的Symbol Wizard工具实现引脚自动化导入;4)原理图设计要点,包括电源系统设计(多电压需求与上电时序)、配置电路(JTAG/Flash接口)和时钟设计。

在读研究生,FPGA电路设计与功能开发。 1384

AI工程化实战:从模型落地到系统可靠性的认知升级

AI工程化不是单纯提升模型准确率,而是构建可监控、可回滚、可协同的生产级AI系统。其核心在于将机器学习嵌入软件工程全生命周期,通过数据韧性设计、人机协同闭环、特征与模型版本治理、可观测性纵深和组织契约机制,系统性应对数据漂移、服务降级、反馈断裂与技术债累积等真实挑战。尤其在高并发、低延迟、强合规场景下,AI工程能力直接决定模型价值能否转化为业务指标——如风控系统的误判归因响应速度、推荐系统的灰度发布多维验证、智能客服的人工接管结构化反馈等。本文聚焦五本工业界验证的AI工程经典,提炼可复用的防御体系与最小可行

com_xpp的专栏 387

MTK Meta ISP 工具使用技巧与参数读取路径全解析

在联发科(MediaTek, MTK)平台上进行相机图像调试时,Meta ISP 工具是连接 PC 与设备进行参数调整、寄存器读取和图像输出的重要工具。本文以实战角度出发,系统梳理 Meta ISP 的使用流程、关键模块功能、典型调试技巧与参数读取路径,结合最新版平台(如MTK Genio/Dimensity 系列)架构,帮助工程师掌握联发科图像调优的核心流程。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1147

模型上线不是终点:生产环境中的MLOps实战生存指南

机器学习模型部署并非简单打包API,而是将算法嵌入业务流水线的系统工程。其核心在于契约化集成、可观测性建设与确定性保障——需明确输入/输出/失败/时效四类契约,构建覆盖特征健康、决策质量、系统延迟的多维监控,并通过影子模式、分级漂移响应和在线验证实现持续可信。在金融等强SLA场景中,毫秒级延迟、幂等重试、统一决策管道等工程实践,直接决定模型能否从离线评估的‘纸面准确’走向生产环境的‘真实可用’。本文聚焦模型落地后的稳定性、可维护性与合规韧性,提供可复用的生产就绪方法论。

weixin_33686714的博客 293

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IDEA2022 Git 回滚及回滚内容恢复

IDEA2022 Git 回滚及回滚内容恢复

weixin_44326073的博客 3443

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IDEA小技巧-Git的回滚&&强推&&代码找回

在选定提交之后所做的更改将被保留,但不会暂存以进行提交,commit的内容都会保留,新增文件在工作区,文件变更在暂存区。在选定提交之后所做的所有更改都会被丢弃(暂存和已提交),commit的内容+暂存区的内容全部被丢弃。在选定提交后做的所有更改都在暂存区,commit的内容都会保留,其新增文件+文件变更都在暂存区。在选定提交之后的已commit内容将被丢弃,但未commit的部分将保留。keep回退 是回滚commit的变更保留本地的更改。mlxed回退 新增文件在工作区中,更改的在暂存区。

java程序员 4985

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

git拉取更新代码时,自己写的代码被覆盖了

git拉取更新代码时,自己写的代码被覆盖了

MagicalIT的博客 6936

使用git回退到之前的版本后如何恢复到回退之前的版本

遇到这个问题时,先使用git reflog去查看所有提交的记录,选择需要的索引号(就是最前面的一串字母数字),接着使用git reset --hard (索引号)。这样就可以回到指定的版本下。去搜了一下了解到:“当你使用Git回退到之前的提交时,Git会将当前分支的指针(HEAD)移动到目标提交。这意味着你的代码库将回到目标提交时的状态,包括文件内容在内。因为个人手贱好奇git回退,就去玩了几次回退,玩完打开代码傻眼啦,他MD就剩下登录功能能用啦,当时心都凉啦,心想这回退还能改变我文件里面的内容,

weixin_52727969的博客 1691

git reset 后代码丢失 解决

git reset后代码丢失解决

qq_37899510的博客 3919

git 回退代码提交覆盖后如何恢复

【代码】git 回退代码提交覆盖后如何恢复。

SuperZTY123的博客 902

Git 使用场景--恢复被覆盖的代码

此时你 git 中的 HEAD 和 INDEX 都是 A 提交的内容,但是工作目录是 D 提交的内容,所以会显示文件被改动,此时将改动提交到 INDEX,push 到远程仓库,则远程仓库的代码就和 D 分支一样了。同理,工作目录是 A 提交的内容,然后将改动 push 到远程,此时 dev 的远程仓库的代码就是 A 提交的代码了。同事给我的方案是在我的 dev 分支删除我的代码,合并到 uat,然后在 dev 重新提交我的代码,合并到 uat。你要将 dev 分支的代码回退到提交 D 然后合并到 uat。

imonkeyi的博客 2810

Git commit后,本地代码丢失解决方法

原文转自:https://www.jianshu.com/p/5b3166c855b2问题描述:提交代码时,rebase了两次,本地代码丢失了,吓得我差点跳起来。解决方法如下:1、执行命令:git reflogd6ea731 (HEAD -> dev, origin/dev, master) HEAD@{0}: checkout: moving from master to dev d6ea...

LAMO 1万+

git 提交代码 回滚后 发现代码被覆盖 如何解决

git 提交代码 回滚后 发现代码被覆盖 如何解决。

聚焦前端开发实战与成长!拆解 Vue/React/TS 高频用法,聊性能优化、工程化落地,扒一扒日常开发的踩坑瞬间,解读前沿技术趋势。不管是刚入门的新手,还是想突破瓶颈的进阶开发者,这里有可落地的技巧、真实的项目复盘,用通俗的话讲透前端逻辑 1606

git误操作回滚的解决方法/常用命令

回滚误操作的解决办法之前没用过git,有一次在commit本地代码后,还没有push上去,不小心回滚到了之前的版本,代码全丢了。下面记一下解决方法:首先用git reflog查看操作记录和git log不同,git log可以查看提交过的版本信息,而got reflog可以查看所有分支的操作记录,包含已经被删除的commit记录。然后git reset --hard  版本号 回滚到某版本这部要注...

Technology exist forever 1万+

git没有提交的代码不小心被回滚了

没有提交的代码不小心被回滚了 W( ̄_ ̄)W

我不是冰山的博客 3289

Git 代码提交到远程主分支后发生冲突或者覆盖

在提交代码的时候,有两个人,比如叫A与B,现在A从远程主分支master拉了代码到自己本地,本地电脑形成local A与local B分支,然后写了自己的需求代码commit并推送到远程仓库,形成自己的origin A与origin B,然后两个人进行合并请求merge request,请求merge后,master主分支里代码少了一部分。

qq_37360300的博客 6033
上一篇: 微服务项目实战技术点汇总:“尚硅谷的谷粒在线教育”十五、Nacos配置中心
下一篇: Sass快速入门笔记(将主要知识点截取出来,参考官方文档和一些网络教学视频)
ydenergy_殷志鹏
博客等级 码龄7年 5885粉丝 543原创
评论 46
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值