git回滚远程仓库代码/错提master分支的恢复
前言
今天周五了,刚接了个新微服务模块,下班前高高兴兴开发完,提交git代码,jenkins发布到测试环境。突然看到一个提示
我最近提的代码呢?!!
想到可能会提错仓库,转念一想,不对呀,我怎有这么高的权限提到master呢?
去gitlab上看看,果然是推到了Master分支!/泪目 /泪目
于是有了这篇折腾记录!
正文
推送代码到正确的仓库
首先我得把现有的代码搞到dev分支,当前是在master上,master已经检出到本地master分支上了,
直接用现成的
master -> orgin: dev (具体命令我是不会写了)
回滚本地master代码
git log
查看commit 版本号
git reset --hard 'master没乱之前的版本号'
强制回滚远程分支
git push -f origin master
强制推送当前分支到远程master
这里会出现一个问题,很有可能master分支会处于被保护状态,这里以gitlab举例,在左侧版本库中会有一个设置关闭保护的,点
unprotected
按钮就好了,上面的代码会正常,此时gitlab上代码已经正常了!注意恢复现场!
重新拉一份项目
经过上边的一些操作,开发工具分支可能有混乱的可能,所以推荐重新拉一份代码
git clone 'git的url'
切换到dev分支
本地切换出dev分支
git checkout -b dev
当然也可以使用开发工具里的
这里就不多说了,去找管git权限的人把自己的master权限关掉去!