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