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

时间:2024-11-07 08:15:07
事情起因
我写了一个月的项目,期间搭建完环境提交过一次仓库,使用的是单独外拉出文件拷贝,然后使用命令行提交
最后写完整个项目,想着赶紧提交到仓库,却发现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是真香,还有很多恢复代码的办法,我昨天收集了很多资料,但对我的情况都没用,我这里只写出,我使用并且有效的,如果本篇文章你没法恢复你的代码,请不要放弃,一定是可以恢复的,但凡我当时认了命,我没准就只能重写了。