今天往gitlab推代码的时候,发现因为之前直接在gitlab手动添加了一个readme,历史再次重演,又TM推不上去了。。这一次我没有去删gitlab的项目,而是,,是使用了版本回退,然而,并没有卵用。好吧,重建项目,再推上去。然后悲剧发生了,我码了两天的代码不见了,一夜回到解放前,我的代码变成了两天前的代码。当时那个心态崩的啊。好吧,最后还是成功解决了。并成功把代码还原了。
下面是一些操作,记录一下:

$ git reflog
05e1539 HEAD@{0}: reset: moving to 05e1539192d294f9e61b3154e00414a0911fc6e6
5e0d1f2 HEAD@{1}: commit: 实现登录拦截和批量删除
05e1539 HEAD@{2}: commit (initial): 实现后台基本页面和表
$ git reset --hard 5e0d1f2
HEAD is now at 5e0d1f2 实现登录拦截和批量删除
$ git push
Counting objects: 41, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (37/37), done.
Writing objects: 100% (41/41), 11.00 KiB | 0 bytes/s, done.
Total 41 (delta 18), reused 0 (delta 0)
To 106.12.209.121:jie12366/LF_Website.git
   05e1539..5e0d1f2  master -> master

到这里我已经成功把代码推到gitlab了,但是本地的代码还是两天前的代码。
然后使用下面的命令查看历史commit记录,并从gitlab拉下来。

$ git remote -v
orig    git@106.12.209.121:jie12366/LF_Website.git (fetch)
orig    git@106.12.209.121:jie12366/LF_Website.git (push)
origin  git@106.12.209.121:jie12366/LF_Website.git (fetch)
origin  git@106.12.209.121:jie12366/LF_Website.git (push)

$ git fetch orig master:temp
From 106.12.209.121:jie12366/LF_Website
 * [new branch]      master     -> temp
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐