在git的一般使用中,如果发现错误的将不想staging的文件add进入index之后,想回退取消,这就叫做git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id。可以使用命令:git reset HEAD <file>...,同时git add完毕之后,git也会做相应的提示,Git reset 是Git最常用的命令之一,也是最危险最容易误用的命令。 用法参考 Git学习笔记03--git reset

【本地代码库回滚】:

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

D:\FitProject\NPS>git pull

remote: Counting objects: 307, done

remote: Finding sources: 100% (245/245)

remote: Getting sizes: 100% (134/134)

remote: Compressing objects: 100% (31123/31123)

Rremote: Total 245 (delta 156), reused 242 (delta 154)

Receiving objects: 100% (245/245), 22.67 KiB | 0 bytes/s, done.

Resolving deltas: 100% (156/156), completed with 40 local objects.

From xxxxxxxxxxxx
    fe0d037..d159d4d  stable_chh_1127 -> origin/stable_chh_1127

Already up-to-date. 3、git branch the_branch_backup //备份一下这个分支当前的情况 D:\FitProject\NPS>git branch Geffdev_0926_backup 4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id D:\FitProject\NPS>git reset --hard 56f7c0d56befd4cad99a6017062824e073b56c01

HEAD is now at 56f7c0d 封装付款体现Relay接口 5、git push origin :the_branch //删除远程 the_branch 6、git push origin the_branch //用回滚后的本地分支重新建立远程分支 D:\FitProject\NPS>git push origin : Geffdev_0926

To xxxxxx
  ! [rejected]        Geffdev_0926 -> Geffdev_0926 (non-fast-forward)
  ! [rejected]        develop -> develop (non-fast-forward)
  ! [rejected]        master -> master (non-fast-forward)
  ! [rejected]        stable_chh_1127 -> stable_chh_1127 (non-fast-forward)

error: failed to push some refs to xxxxxx

hint: Updates were rejected because the tip of your current branch is behind

hint: its remote counterpart. Integrate the remote changes (e.g.

hint: 'git pull ...') before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details. D:\FitProject\NPS>git push origin  Geffdev_0926

Total 0 (delta 0), reused 0 (delta 0)

remote: Updating references: 100% (1/1)

To xxxxxx
  * [new branch]      Geffdev_0926 -> Geffdev_0926 7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支

Git远程库版本回滚的更多相关文章

  1. IDEA远程仓库版本回滚

    访问我的博客 使用 git 进行项目的版本控制时,肯定会遇到回滚版本的情况,回滚有两种,一种是本地仓库回滚,另外一种是远程仓库回滚.以下详细讲解两种回滚方式,本文主要讲解远程回滚,以及常见使用误区. ...

  2. git版本回滚

    本地版本回滚 git reset --hard <版本号> (git log 可查看版本号,版本号不用写全) 远程仓库版本回滚 先在本地将版本回滚 ,然后git push -f 强制提交

  3. git---远程仓库版本回滚

    开发中,发现有错误版本提交带远程分支master,怎么处理? 1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 问题 如果提交了一个错误的版本,怎么回 ...

  4. git远程库代码版本回滚方法

    最近使用git时, 造成了远程库代码需要回滚到之前版本的情况,为了解决这个问题查看了很多资料. 问题产生原因: 提交了错误的版本到远程库. 以下是解决的方法, 供大家参考: 1.对本地代码库进行回滚 ...

  5. git小技巧之分支、关联远程仓库、回滚、解决.gitignore不生效等

    1.分支管理 新建并切换分支:git checkout -b <name>新建本地分支并关联到远程分支git checkout -b myRelease origin/Release合并某 ...

  6. git的几种回滚 git revert 和 git reset的区别

    git的几种回滚 git revert 和 git reset的区别:强烈建议:对HEAD不熟的话最好不要用HEAD,直接用commitID吧,我遇到的问题:reset HEAD~1之后,可能是别人提 ...

  7. Gitlab之版本回滚

    gitlab提交错误需要回滚版本 首先查看log找到需要回滚的head git log 回滚 git reset --hard 297ff2dcf20605297684f296a4b4ccaa1cf4 ...

  8. 用Helm部署Kubernetes应用,支持多环境部署与版本回滚

    1 前言 Helm是优秀的基于Kubernetes的包管理器.利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离.现在 ...

  9. TortoiseSVN 版本回滚

    尝试用TortoiseSVN进行版本回滚,回滚到的版本和实际的内容有出入,可能是点了太多次给点乱了,囧~ 不过发现一个比较靠谱的方法,如下: 右键点击文件TortoiseSVN->showlog ...

随机推荐

  1. Ansible(一) 配置安装

    puppet ruby开发 salt python开发,有客户端,使用Rabbitmq消息队列,支持并发,在机器数量很多时效果比ansible好. ansible python开发, 没有客户端,基于 ...

  2. Chapter 7:Linking

    概述: 在linux上,从c源码到可执行文件主要需要经历translator(compiler.assembler)生成object file,再经由linker连接成executable objec ...

  3. PAM - 可插拔认证模块

    1.为什么要使用PAM 为了让用户更合理地使用系统,应用程序或服务(如sshd.login.su.password.ftp等)不可避免地需要对用户进行安全认证,若按照各自的规则去配置非常耗费时间和精力 ...

  4. Drools文档(八) 规则语言参考

    规则语言参考 概述 Drools有一个"本地"的规则语言.这种格式在标点符号上非常轻,并且通过"扩展器"支持自然语言和领域特定的语言,使语言能够变形到您的问题领 ...

  5. 小程序web-view组件

    不久前微信小程序发布了web-view组件,这个消息在各个圈里引起不小的涟漪.近期正好在做小程序的项目,便研究了一下这个让大家充满期待的组件.   1,web-view这个组件是什么鬼? 官网的介绍: ...

  6. TFBOY 养成记 一些比较好多文章。

    API解释中文版(简书文章,没事看看): http://www.jianshu.com/p/e3a79eac554f Tensorlfow op辨异:tf.add()与tf.nn.bias_add() ...

  7. laravel查看执行sql的

    加个监听就好了~~~~而且很简单 1.在routes.php(api.php\web.php)中添加如下语句 Event::listen('illuminate.query', function($s ...

  8. C语言之随机数

    #include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ srand(time(0)); int ...

  9. B2B电商系统开发建设的价格费用取决于哪些要素

    B2B电子商务系统平台建设开发怎么做?如何搭建一个电商系统网站平台?相信我们的企业商家在搭建电子商务系统的时候都会进行前期的系统策划,但是对于电子商务系统的构建绝大多数人都有一个误区,那就是对于电子商 ...

  10. Spring Cloud 之 Feign

    新建Spring Boot工程,命名为feign 1.pom.xml添加依赖 <?xml version="1.0" encoding="UTF-8"?& ...