git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id

【本地代码库回滚】:

git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除

git reset --hard HEAD~3:将最近3次的提交回滚

【远程代码库回滚】:

这个是重点要说的内容,过程比本地回滚要复杂

应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布

原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支

操作步骤:

1、git checkout the_branch

2、git pull

3、git branch the_branch_backup //备份一下这个分支当前的情况

4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id

5、git push origin :the_branch //删除远程 the_branch

6、git push origin the_branch //用回滚后的本地分支重新建立远程分支

7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支

如果使用了gerrit做远程代码中心库和code review平台,需要确保操作git的用户具备分支的push权限,并且选择了 Force Push选项(在push权限设置里有这个选项)

另外,gerrit中心库是个bare库,将HEAD默认指向了master,因此master分支是不能进行删除操作的,最好不要选择删除master分支的策略,换用其他分支。如果一定要这样做,可以考虑到gerrit服务器上修改HEAD指针。。。不建议这样搞

方法一:

1、新建backup分支 作为备份,以防万一

git branch backup

2、将本地的backup分支 推送到远程的backup

git push origin backup:backup

3、本地仓库彻底回退到xxxxx版本,xxxxx版本之后的commit信息将丢失

git reset --hard xxxxx

4、删除远程的master分支 (注意master前有个:)

git push origin :master

主要远程仓库的master如果是保护分支将报错,请去掉对分支的保护设置:

remote:GitLab:Youare  allowed  to  deleted protectedbranches fromthisproject.Tohttp://gitlab.mogujie.org/shihao/afanty.git ! [remote rejected] master (pre-receive hook declined) error: failed to push some refs to 'http://gitlab.mogujie.org/xxxx/xxxx.git'

5、重新创建远程master分支(这跟第1次提交本地代码库给远程仓库的命令一样)

git push origin master

方法二:

1、本地代码回滚到上一版本(或者指定版本)

git reset --hard HEAD~1

2、加入-f参数,强制提交,远程端将强制跟新到reset版本

git push -f origin master

注:方法二前建议如方法一一样备份当前git中的数据,个人推荐方法二

git远程代码回滚_git 远程分支回滚相关推荐

  1. 合并远程仓库到本地_git远程仓库

    可以用git remote命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库 也可以加上-v选项(译 ...

  2. rmi远程代码执行漏洞_WebSphere 远程代码执行漏洞浅析(CVE20204450)

    作者:beijixiong404    文章来源:先知社区 漏洞简介 WebSphere是IBM的软件平台,它包含了编写.运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台.跨产品解决方案 ...

  3. java远程代码注入_Java RMI远程反序列化任意类及远程代码执行解析(CVE-2017-3241 )...

    原标题:Java RMI远程反序列化任意类及远程代码执行解析(CVE-2017-3241 ) 本打算慢慢写出来的,但前几天发现国外有研究员发了一篇关于这个CVE的文章,他和我找到的地方很相似.然而不知 ...

  4. 合并远程仓库到本地_git远程仓库创建和合并

    上周发了一个张佳波小朋友关于git的文章,马上就更多小朋友的回馈.其中周玉涛同志发来了自己对于git之前问题的一些理解和解决方法,希望能帮助更多人解决问题. 为了保证周玉涛同学提供材料的完整性,以下将 ...

  5. git 把代码同步到另外的分支

    git想把代码从A分支同步到B分支,假如当前代码在A分支 需要使用如下步骤 git log                                             打印log并且复制c ...

  6. linux远程代码执行漏洞,Bash远程任意代码执行安全漏洞(最严重漏洞)

    US-CERT 意识到 Bash 存在一个安全的漏洞,该漏洞直接影响基于 Unix 的系统(如 Linux.OS X 等).该漏洞将导致远程攻击者在受影响的系统上执行任意代码. US-CERT 建议用 ...

  7. rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现

    漏洞原理fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存 ...

  8. git更新远程代码到本地仓库的命令

    方式一 (远程代码下载到本地新建分支:对比区别后在合并) 查看远程分支 git remote -v $ git remote -v origin https://github.com/shangshe ...

  9. git 更新远程代码到本地仓库

    git fetch 的简单用法:更新远程代码到本地仓库 方式一 (远程代码直接下载合并到本地) 1. 查看远程仓库 $ git remote -v eoecn https://github.com/e ...

  10. fastjson反序列化漏洞_【安全风险通告】fastjson反序列化远程代码执行漏洞安全风险通告...

    近日,奇安信CERT监测到fastjson官方发布新版本,修补了一个反序列化远程代码执行漏洞.远程攻击者可利用该漏洞绕过autoType限制,进而可在目标服务器上执行任意命令.鉴于该漏洞影响较大,建议 ...

最新文章

  1. 人人网 6.0 版申请页面随着滚动条拖动背景图片滚动出现的原理
  2. select报错 spark_使用spark-sql报错 “Metastore contains multiple versions”
  3. iOS 选择的照片或者拍照的图片上添加日期水印
  4. 【文档】软件版本发布说明
  5. 如何给 Chrome 开发者工具设置 Material Design 风格的主题外观
  6. 技术分享 | 【构建服务端SDK】之连接中心统一调用SDK
  7. jmeterhttp代理服务器_Jmeter使用HTTP代理服务器录制
  8. VS2010 自动化整理代码(1)--- VS正则表达替换 PK Vim
  9. 单片机原理及应用pdf_单片机原理及应用课程设计
  10. feign 获取请求真实目的ip地址
  11. matlab 音频fftshift,matlab使用杂谈5-fftshift函数的使用
  12. lua如何将用户ip转为地理位置信息
  13. 简单的c++对象模型
  14. 配置ip地址常用命令及解释
  15. bada开发——简单介绍
  16. ECSHOP模板修改
  17. 基于STM32和阿里云的智能家居
  18. react-router如何配置可选参数
  19. 黑群辉DSM 6.2.3 系统安装
  20. 《分布式消息中间件实践》 读书笔记

热门文章

  1. C#实现语音朗读功能
  2. 关于数学计算机手抄报简单的,数学手抄报简单又漂亮图片
  3. dumprep -0 -k
  4. 温故而知新,可以为师矣,学习到的东西不断回顾,往往能够发现自己的不足...
  5. 超过2t硬盘分区_大于2T的磁盘怎么分区呢?
  6. 写口算用计算机作文600字,口算考试作文600字
  7. Dubbo thread pool is exhausted
  8. excel公式编辑器_Excel如何用函数公式制作随机抽奖小程序
  9. Adobe MAX 2011第一天主题演讲实录
  10. d3.js之中国地图