前言
- 新手第一次使用git,对这玩意儿完全没有什么认识,只是想着从学习的角度出发接触一下这个。于是乎恰好手上刚做完一次课程设计作业,想拿此进行练手,顺便上传到github上去。于是我在github上新建了一个仓库,想着用git把我的代码传上去。
悲剧发生
- 首先由于我对这个东西的认知实在匮乏,在本地瞎操作了一番,不知怎么得不小心从远程仓库中pull了一下,然后,整个文件夹清净了……
情景复现
- 这是我发现问题后第一时间备份的目录,里面的东西已经是从github上拉下来的了。但是,/.git目录下足足有12MB大小,说明还有恢复的可能性。在命令行中看下状态
nucleus@nucleus-GL552VW:~/桌面/beego_survey$ git status
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。
(使用 "git push" 来发布您的本地提交)
无文件要提交,干净的工作区
nucleus@nucleus-GL552VW:~/桌面/beego_survey$ git log
commit 4baf4b0e284f43975ec45c24dcb0a541d4a2b734 (HEAD -> master)
Author: xxxxxxxx <xxxxxx@xxxxxx.com>
Date: Fri Jun 28 22:24:50 2019 +0800
Revert "Initial commit"
This reverts commit 0ff0709d2cc8d339587afac8f5edbe6c95719f74.
commit 0ff0709d2cc8d339587afac8f5edbe6c95719f74 (origin/master)
Author: xxxxxxxx <xxxxxxx+xxxxxx@users.noreply.github.com>
Date: Fri Jun 28 21:36:18 2019 +0800
Initial commit
nucleus@nucleus-GL552VW:~/桌面/beego_survey$ git reflog
4baf4b0 (HEAD -> master) HEAD@{
0}: revert: Revert "Initial commit"
0ff0709 (origin/master) HEAD@{
1}: reset: moving to HEAD
0ff0709 (origin/master) HEAD@{
2}: reset: moving to HEAD
0ff0709 (origin/master) HEAD@{
3}: reset: moving to HEAD
0ff0709 (origin/master) HEAD@{
4}: initial pull
- 总之,看上去貌似没有办法直接回退到出事之前的状态了。只好上网上搜索看看有没有可能恢复出单个文件之类的。
转机