`

push了还想回滚

    博客分类:
  • git
阅读更多

push了还想回滚怎么办?

场景:刚上完线,于是把新开发的功能push到了master分支,

但是突然产品经理说要改个东西(改动很小),得马上上线.

可是我已经把未通过测试的代码push上去了.

 

思路:

(a)每次上线都会打tag,我直接找到那个tag,并以此为基准新建一个git分支

结果:并没有打tag

(b)在我本地使用 git reset 来回滚,然后push上去

结果:在我本地回滚没有用,pull时还是会把之前提交的拉回来.

 

解决方案:

步骤一:

在我本地把修改未commit的都还原,

保证代码是最新的

 

步骤二:

执行 git reset 

 

 

步骤三:

不要pull,马上push 到一个新的分支prod2

 

步骤四:

从步骤三创建的远程分支prod2 checkout出本地分支prod3

 

 

步骤五:

在本地分支prod3上修改并提交到prod2

 

步骤六:

上线时指定分支为prod2.

 

注意:push完了之后,想回滚是不可能的,只能覆盖提交.

参考:http://hw1287789687.iteye.com/blog/2311824

git push错了分支,要求回滚已经push成功的:http://hw1287789687.iteye.com/blog/2305708

  • 大小: 118.2 KB
0
0
分享到:
评论

相关推荐

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

    git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id 【本地代码库回滚】: git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都...

    跨浏览器的桌面通知插件Push.js.zip

    如果用户的浏览器不支持这个新的API,会回滚到使用旧的实现方式。运行效果:示例代码:创建通知Push.create('Hello World!') define(['pushjs'], function (Push) {  Push.create('Hello World!'); }); ...

    helm-push_0.8.1_linux_amd64.tar.gz

    helm-push_0.8.1_linux_amd64.tar基于helm推送的工具。Helm 是 Kubernetes 的软件包管理工具。本文需要读者对 Docker、Kubernetes 等相关知识有一定的了解。 本文将介绍 Helm 中的相关概念和基本工作原理,并通过...

    jakkypan#trivia#git回滚总汇1

    1、仅在工作区修改的文件 2、已添加到暂存区的文件 3、已经commit,但是没有push 3、已经push到远端

    git-rollback:轻松回滚提交

    git-rollback 轻松回滚最后几次提交。安装$ gem install git-rollback用法$ git rollback贡献分叉( ) 创建功能分支( git checkout -b my-new-feature ) 提交更改( git commit -am 'Add some feature' ) 推送到...

    springboot实现多数据源而且加上事务不会使aop切换数据源失效

    用springboot 集成mybatis多数据源,用aop实现的动态切换,支持事务,不会使aop动态切换失效。注意:此代码不涉及分布式事务,如果需要分布式事务 需要采取其他方案。

    wow-222#Read-Books-Notes#开发环境1

    开发环境关于开发环境·js模块化·打包工具·上线回滚的流程国内coding.net·常用git命令·git push origin master //提交远程仓

    github学习命令

    版本控制系统可以保留一个文件集合的历史记录,并能回滚到另外一个状态(历史记录状态)。对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改 (modified)和已暂存(staged)。已提交表示该文件已经被...

    PuttyPlus V1.0

    在PuttyPlus中,为它添加了查找字符串、暂停/继续、清屏回滚等功能,可以通过Shift+F3/F4、F3/F4等快捷键来实现快速搜索,还能列出系统中当前可用的串口,避免从设备管理器中查看串口序号的烦恼。  ADB Shell: 使用...

    git常用命令总结下载

    1.基础命令(add、commit、pull、push等); 2.分支操作(branch、checkout、cherry-pick、rebase等); 3.回滚与重做(reset、revert等); 4.日志(log、reflog、blame等)。

    Git教程(精)

    版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可以是不同的文件,也可以是不同的文件内容。举个例子,你可以将文件集合转换到两天之前的状态,或者你可以...

    github-deploy-actions:触发该操作后,它将自动部署到目标分支

    它还可以保留gh页的历史记录,并便于回滚到以前的版本。 并且它将使用git status --porcelain将部署文件与以前的版本进行比较,如果没有任何更改,它将不会部署。如何使用name : deployon : push : branches : - ...

    action-autotag:清单文件(package.json,Dockerfile,自定义文件等)版本更改时自动生成新标签

    此操作与以下各项结合使用时效果很好: (自动发布) (自动发布JavaScript / Node模块) (发生故障时自动回滚) (跨运行时JavaScript回购模板)用法下面是一个示例.github/workflows/main.yml ,当push送到...

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

    push : 将本地代码推送到远程仓库 pull: 将远程仓库的代码拉取到本地 (只更新与本地不⼀样的代码) branch : 分⽀管理 checkout: 切换分⽀ / 代码回滚 / 代码还原 merge : 合并分⽀ log : 查看提交历史 diff: 差异对...

    heroku-deploy:一个简单的github动作,将应用程序动态部署到heroku

    运行状况检查失败回滚 环境变量ENV文件 Procfile传递 部署到团队 只需登录 重要笔记 执照 入门 要开始使用该操作,只需确保项目中包含Procfile或Dockerfile ,然后创建一个名为.github的文件夹,并在其中创建另一个...

    beanstalk-deploy:GitHub操作(和命令行脚本),用于将应用程序部署到Elastic Beanstalk

    它不处理回滚环境。 用作GitHub动作 该操作希望您已经生成了一个包含要部署版本的zip文件。 例子: name : Deploy master on : push : branches : - master jobs : build : runs-on : ubuntu-latest steps...

    vue-page-stack:Vue SPA的路由和导航。 Vue单页应用导航管理器

    :soccer_ball: 当页面通过push或forward重新呈现时,新呈现的页面将被添加到Stack中。 :trophy: 当back或go(negative number) ,不会重新呈现先前的页面,而是从堆栈中读取它们,并且这些页面保留先前的内容状态,...

    gitric:用于Fabric的简单基于git的部署

    使用git push而不是git pull。 预种子目标的不可变git对象存储,因此您可以在修改工作副本之前和之后停止并重新启动服务器,而不必等待网络IO和工作副本更新。 不会让您从肮脏的工作副本中进行部署(可以覆盖进行...

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

    对于Kubernetes,这意味着使用git push而不是kubectl create/apply或helm install/upgrade 。 在传统的CICD管道中,CD是由持续集成工具提供支持的实施扩展,以将构建工件升级到生产环境。 在GitOps管道模型中,对...

    DeployBot Extension-crx插件

    在手动或自动部署之间进行选择•为多个环境分别配置•优化版本控制过程•无需手动跟踪更改和上传文件•快速回滚有问题的发行版•共享发行说明以使所有人循环运行•实时观察部署进度•在服务器上配置的事情更少•管理...

Global site tag (gtag.js) - Google Analytics