`

git代码库回滚

    博客分类:
  • git
 
阅读更多

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指针。。。不建议这样搞

分享到:
评论

相关推荐

    git 删除分支和回滚的实例详解

    git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id 【本地代码库回滚】: git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除 git reset --hard HEAD~3:将最近3次的...

    Git代码回滚实践

    Git代码回滚实践环境搭建环境试验idea示例代码回滚回滚条件创建回滚目标具体操作github地址 环境搭建 1.github上新建仓库:https://github.com/ydfind/git-test.git 2.idea从git新建两个项目,并修改提交代码的...

    利用PyCharm操作Github(仓库新建、更新,代码回滚)

    本文将会介绍如何利用PyCharm来连接Github,同时演示Github上的仓库新建、更新,以及代码回滚。   在这之前,需要在你的电脑上安装Git,PyCharm。本文演示的系统为Windows系统,首先我们先从设置讲起。 PyCharm...

    IDEA中使用Git(史上最全最详细)(tedu2)(教学操作视频+源代码)

    IDEA中使用Git(史上最全最详细)(tedu2)(教学操作视频+源代码) 包含:IDEA中使用Git文档、教学操作视频、代码 1.IDEA集成Git 1.1设置全局git用户名和邮箱 1.2 创建一个SpringBoot项目 1.3 IDEA中设置Git 1.4 设置...

    mplab中git的用法.pdf

    用microchip公司的芯片进行硬件开发时,在mplab X开发环境中,用git进行版本控制和回滚。可以有效的提高效率

    dld:上线回滚,批量部署

    php 代码上线回滚管理(根据版本号,从svn版本库,提取出文件列表,同步至本地目录(git控制,回滚需要),再同步生产环境) 基本流程 资产管理,及批量执行命令 php代码管理 登录 资产管理 ansible playbook 上线管理

    Git权威指南PDF完整版

    25.6 建立 Android 代码库本地镜像/ 363 25.7 repo 的命令集/ 365 25.8 repo 命令的工作流/ 370 25.9 好东西不能 Android 独享/ 371 25.9.1 repo+Gerrit 模式/ 371 25.9.2 repo 无审核模式/ 371 25.9.3 改进的 repo ...

    storyflow#handbook#代码回滚1

    1. 开发合并发生冲突时,想和仓库代码一致,完全舍弃你没有提交的改动,使用git reset HEAD --hard 1. git checkout hotfi

    Git常用必备指令,新手小白必备

    1. 分布式管理:每个用户都可以在本地保存完整的代码库。这个功能让开发者可以在没有互联网的情况下进行项目开发。 2. 版本控制:Git可以保存项目的每一个版本,开发者可以方便地回滚到之前的版本。这个功能对于...

    git-practice:一个使用git和GitHub进行练习的非常简单的仓库

    当使用git跟踪代码主体时,很容易看到该软件随着时间的推移是如何发展的,在需要时回滚更改,以及合并多个协作者的修改。 在本活动中,我们将专注于单人项目的核心git工作流程。 我们可能会在本季度末针对协作项目...

    Git教程(精)

    Git保存了所有的版本信息,所以你可以转换你的源代码到任何的历史版本。你可以对本地的仓库进行代码的提交,然后与其他的仓库进行同步。你可以使用Git来进行仓库的克隆(clone)操作,完整的复制一个已有的仓库。...

    团队构建及项⽬管理技能(三):Git 命令大全,ssh-key 的使⽤,git项⽬初始化,快速查找,建议收藏~

    status: 查看当前代码库的状态 add : 将本地⽂件添加到暂存区 commit : 将代码提交到本地仓库 push : 将本地代码推送到远程仓库 pull: 将远程仓库的代码拉取到本地 (只更新与本地不⼀样的代码) branch : 分⽀管理 ...

    Git+TortoiseGit+中文语言包 分布式版本控制系统

    当你工作在特性A上时,任何事(人)都不会被你未完成的代码所影响。如果这个特性不再需要了呢?或者如果在10个提交之后,你发现你做的完全不对呢?分支是这些问题的答案。其他的版本控制系统也有分支,但是Git是第一...

    PHP实现git部署的方法教程

    在小站点上,直接用git来部署php代码相当方便,你的远程站点以及本地版本库都有一个版本控制,追踪问题或者回滚是很轻松的事情。 因为在小公司上班,原先的系统还在使用传统的ftp上传部署,部署太麻烦,也不好管控...

    git-commit-style-guide:使git commit消息更易读和有用

    体验测试:测试用例,包括单元测试,集成测试等琐事:改变重建流程,或者增加依赖库,工具等恢复:回滚到上一个版本格式要求: # 标题行:50个字符以内,描述主要变更内容## 主体内容:更详细的说明文本,建议72个...

    cedardeploy:cedardeploy:基于python,flask,mysql,git,ssh-key,supervisor的发布系统。支持多类型,上线,回滚,监控,报警

    发布历史日志: 记录时间,执行人,状态,CommitId,详细过程信息服务状态监控: 多线程循环检查所有服务状态,根据supervisor的服务状态,无supervisor,检查ssh状态报警: 目前仅支持钉钉服务上线: 勾选主机,检查git代码是否...

    持续交付构建系统Screwdriver.zip

    通过管理代码库中的管道配置,Screwdriver 允许开发人员以他们熟悉的方式配置管道,另一个好处是,也可以轻松地审查管道的变化。主干开发:在 Yahoo 内部,鼓励主干代码总是可交付的工作流程。团队使用修改后的 ...

    python运维管理发布系统

    python运维管理发布系统 这是一个运维平台,使用bootstrap 和django 框架进行...目前实现了项目管理模块,发布Git和SVN代码库的php工程,回滚代码,以及集成Saltstack 进行应用批量部署模块和命令批量执行. 命令审计查询

    k8s-cluster:使用Flux和Helm Operator管理Helm版本

    如果整个生产状态受版本控制并在单个Git存储库中进行描述,则在灾难发生时,可以从该存储库中快速恢复整个基础架构。 为了更好地理解这种CD方式的好处以及GitOps和“基础结构即代码”工具之间的区别,请访问...

Global site tag (gtag.js) - Google Analytics