git 回滚

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

git reset HEAD -- <file>

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

$ git log                       //你commit 的记录
$ git reflog
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 git@10.255.223.213:code-ddreader/media-hapi.git
! [remote rejected] master (pre-receive hook declined)

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


微信截图_20190309112808.png

修改一下 就可以了,完美

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git作为版本控制肯定是常见的了,对于git有一个版本回滚的功能是我们在开发过程中应该用到比较多,掌握它对于我们开...
    草帽小子J阅读 920评论 0 3
  • 回滚命令 场景回滚某个commit回滚到某个commit恢复到与HEAD一致回滚Merge回滚最新的Merge回滚...
    齐晋阅读 702评论 0 1
  • git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id【本地代码库回滚】:git reset ...
    dependmyse阅读 257评论 0 0
  • Git 如何遗弃已经 push 的提交,处理方法应该更新到文章:Git 如何遗弃已经 Push 的提交 以下是原文...
    nanchen2251阅读 4,370评论 8 23
  • 拆页内容 杜德林阐明了在难题解决过程中的每一阶段能够和应该问哪些问题,以获得信息、激发思考、深刻洞察,并将学习成果...
    听风过而阅读 124评论 0 0