git 回滚

项目上线头一天下午,把JIRA上面的bug都一一改正之后,准备提交代码下班回家好好吃把鸡,当我按照往常git add . 然后git commit -m '巴拉巴拉' 之后 项目报错了。直接懵逼...
查看发现文件找不到,不知道怎么被delete了,WhatF?在尝试一通之后,为了不影响上线,直接回滚

git reset HEAD -- 

哈哈,果然好了,不在报错了。
嗯?等等,好像有什么不对,我是不是忘了点啥...
我代码呢?我一下午刚改好的代码呢?被谁吃了?站出来
不是吧,白干了。那不行,后悔了,再怎么着也不能删代码呀
找回吧

$ git log                       //你commit 的记录
$ git reflog
git 回滚_第1张图片
relog.png

$ git reflog 会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中。
找回某一次commit,只需要做如下操作:

$ git reset --hard bd1dacb

这个时候就可以找回来,ok下班完事

git master 远程回滚

// 查看 commit id
git log 
//  748d0934d4d0635f72ea728e1271d158ba1e4a07
微信截图_20190309112808.png
// 回滚到指定 那一次
git reset --hard 748d0934d4d0635f72ea728e1271d158ba1e4a07
// 强行推送到远程分支
git push -f origin master 

不过有可能失败:

remote: GitLab: You don't have permission
To [email protected]:code-ddreader/media-hapi.git
! [remote rejected] master (pre-receive hook declined)

有可能你没有权限,也可能是master分支设置了保护


git 回滚_第2张图片
微信截图_20190309112808.png

修改一下 就可以了,完美

你可能感兴趣的:(git 回滚)