【注意:如果提交的错误代码较少,可以在本地修改成 commit之前的正确代码样子,然后再提交一次即可。不用麻烦的操作回滚。

开发人员错误将代码提交到gitlab的远程dev分支,回滚方法如下:

1、本地回滚

进入git bash,进入该工程目录:

leichen@N MINGW64 ~
$ cd c: leichen@N-5C MINGW64 /c
$ cd git_home leichen@N-5C MINGW64 /c/git_home
$ cd zntp leichen@N-5C MINGW64 /c/git_home/zntp (dev)
$ git log
commit 095d0ada370c32ace4fd2ebcd4372beea9a64f77
Author: MirGao <Mir_Gao15517374303@163.com>
Date: Fri Nov 23 16:50:28 2018 +0800 实现接口数量7个 commit b8b9fa09775a511d522e584a3be6817c9de7e43b
Author: PC-20180625CLEK\Administrator <@163.com>
Date: Mon Oct 15 14:58:07 2018 +0800 bug修改

确认回滚到版本“commit” = b8b9fa09775a511d522e584a3be6817c9de7e43b,bug修改;操作方法如下:

leichen@N-5CG724557J MINGW64 /c/git_home/***** (dev)
$ git reset --hard b8b9fa09775a511d522e584a3be6817c9de7e43b
HEAD is now at b8b9fa0 bug修改

切换分支: git checkout dev

至此版本回退完毕,但是此时如果提交到远程,注意:这只是本地撤消,如果已经push到服务器了,则此操作只回退了本地,服务器不受影响,下次git push要求先运行git pull,又将服务器的merge记录下载到本地了。其实不能达到远程回退的要求。

2、远程回退

登陆gitlab服务器,进入项目对应的目录底下操作。此操作相当危险,在操作一定要先将相应项目的目录整个打包备份;然后进入到项目文件夹中操作:

cd /data/gitlab/repositories/alibaba/*******.git
git checkout dev
#此时会报错:fatal: This operation must be run in a work tree
#原因在于:git配置了环境变量,命令无法识别到作用的工程名称,所以需要加上--work-tree参数
git --work-tree=/data/gitlab/repositories/alibaba/zntp.git reset
--hard b8b9fa09775a511d522e584a3be6817c9de7e43b
HEAD is now at b8b9fa0 bug修改
#即可实现代码回滚
#git --work-tree的用法:[--work-tree=<path>]

远程回退完毕。

【git】代码回退指定commit的更多相关文章

  1. git代码回退

    情况1.还没有push可能 git add ,commit以后发现代码有点问题,想取消提交,用: reset git reset [--soft | --mixed | --hard] eg:  gi ...

  2. git回滚到指定commit

    一次性commit好多文件,push上去之后,发现工程不可用,只能回滚,上网搜索回滚办法,下边这个是自己亲试的,特别好使: 操作步骤: 1.git checkout the_branch 2.git ...

  3. git代码回滚

    有时候我们用git提交代码后发生了错误,代码冲突了啊等等,我们需要将代码回到以前的某个版本 git代码回退有两种办法 一.git reset(推荐): 它是将最新的commit删除,用以前的某个版本的 ...

  4. androidstudio项目如何使用git版本回退

    使用android studio 编写代码错误,有时可能会需要将项目版本回退到以前的某个版本上,这对于很多刚使用git的网友来说操作可能不是很懂,下面为大家整理了android studio 回退已经 ...

  5. git代码版本回退

    git log 用于查看我们修改提交的快照记录(commit记录),然后会有个commit修改记录的id编号,该命令显示从最近到最远的提交日志,我们可以看到3次提交记录,如下: git checkou ...

  6. Git回滚代码到某个commit

    回退命令: $ git reset --hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前 $ git rese ...

  7. Git回滚到指定的commit

    查看历史commint $ git log (可以记下sha码) 回退命令: $ git reset --hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到 ...

  8. 如何删除远端已经推送的Commit记录???(Git版本回退)

    如何删除远端已经推送的Commit记录???(Git版本回退) 简单描述 突然事件:刚刚,就在刚刚,发生误了操作. 操作描述:我把修改的文件保存错分支了,已经commit了.并且还push上去了.对, ...

  9. Git合并一次commit到指定分支

    1 在当前分支,查看要合并的分支版本号 git log 需要合并的commit版本号 16b7df3aa1e64e00554a8a3c871e59db8cd87b16 2 切换到 指定分支 git c ...

随机推荐

  1. Windows下使用virtualenv创建虚拟环境

    操作系统 : windowns10_x64Python版本:3.6.8virtualenv版本:16.7.7virtualenvwrapper版本:1.2.5 方式一:直接使用virtualenv 1 ...

  2. rpm软件包安装与管理

    一.软件包分类 1.软件包分类 源码包 二进制包 2.源码包 2.1 源码包什么样 直接由编程语言写成,没经过编译.类似于java的 .calss 文件,c的 .c文件. [root@love2 ~] ...

  3. spring的简易实现(一)

    [练习]spring的简易实现(一) 在第一部分我们实现读取xml的配置,然后实例化xml中的bean 首先定义一个xml和相关的class类 <?xml version="1.0&q ...

  4. ADO.NET ORM数据库增删改查封装(工具一)

    约束 public abstract class BaseModel { public int Id { get; set; } } 连接字符串 public static readonly stri ...

  5. NetCore的Docker部署

    NetCore的Docker部署 一.NetCore与Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或 ...

  6. [javascript string] slice();substr();substring();之间的区别

    今天遇到这个问题,发现ぜんぜんわすねまます3个方法,直接上代码吧,[网络版本较多就不注明参考过哪些了 -0- ] var test = 'hello world'; //均一位参数测试 console ...

  7. [b0043] python 归纳 (二八)_python测试使用快速上手

    参考 Python必会的单元测试框架 —— unittest # -*- coding: utf-8 -*- """ 测试代码组织,整理( 非可执行) "&qu ...

  8. layui 动态设置 checbox 选中状态

    layui复选框checkbox选中赋值,解决layui设置checbox选中不生效的问题 直接上代码 //监听指定开关 form.on('switch(dongsir)', function(dat ...

  9. 实操《kubernetes网络权威指南》之tun设备

    跟着网上作一次,OK的. tun.c #include <net/if.h> #include <sys/ioctl.h> #include <sys/stat.h> ...

  10. Vue入门(二)

    1.vue3.0安装 cnpm install -g @vue/cli 或者 yarn global add @vue/cli //创建项目 vue create hello-world //运行 n ...