gitlab回滚代码:开发人员误提交代码到远程gitlab服务器,回滚方法

开发人员错误将代码提交到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 <18510942269@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>]

回退完毕。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值