【git】代码回退指定commit
【注意:如果提交的错误代码较少,可以在本地修改成 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的更多相关文章
- git代码回退
情况1.还没有push可能 git add ,commit以后发现代码有点问题,想取消提交,用: reset git reset [--soft | --mixed | --hard] eg: gi ...
- git回滚到指定commit
一次性commit好多文件,push上去之后,发现工程不可用,只能回滚,上网搜索回滚办法,下边这个是自己亲试的,特别好使: 操作步骤: 1.git checkout the_branch 2.git ...
- git代码回滚
有时候我们用git提交代码后发生了错误,代码冲突了啊等等,我们需要将代码回到以前的某个版本 git代码回退有两种办法 一.git reset(推荐): 它是将最新的commit删除,用以前的某个版本的 ...
- androidstudio项目如何使用git版本回退
使用android studio 编写代码错误,有时可能会需要将项目版本回退到以前的某个版本上,这对于很多刚使用git的网友来说操作可能不是很懂,下面为大家整理了android studio 回退已经 ...
- git代码版本回退
git log 用于查看我们修改提交的快照记录(commit记录),然后会有个commit修改记录的id编号,该命令显示从最近到最远的提交日志,我们可以看到3次提交记录,如下: git checkou ...
- Git回滚代码到某个commit
回退命令: $ git reset --hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前 $ git rese ...
- Git回滚到指定的commit
查看历史commint $ git log (可以记下sha码) 回退命令: $ git reset --hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到 ...
- 如何删除远端已经推送的Commit记录???(Git版本回退)
如何删除远端已经推送的Commit记录???(Git版本回退) 简单描述 突然事件:刚刚,就在刚刚,发生误了操作. 操作描述:我把修改的文件保存错分支了,已经commit了.并且还push上去了.对, ...
- Git合并一次commit到指定分支
1 在当前分支,查看要合并的分支版本号 git log 需要合并的commit版本号 16b7df3aa1e64e00554a8a3c871e59db8cd87b16 2 切换到 指定分支 git c ...
随机推荐
- 批量修改含空格的文件名「Linux」
1.问题:文件批量重命名和处理文件名中的空格 如果文件名中有空格,在执行以下shell脚本的时候会出错. shell 脚本 for filename in `ls` do echo $filename ...
- python中list的运算,操作及实例
在操作list的时候,经常用到对列表的操作运算,比如说,列表添加,删除操作,其实,这里面经常回遇到这样一个问题,就是列表的操作容易被混淆了. 有人做了一个总结,这个很清晰,我就不多做阐述了: 1.ap ...
- 火车票买不到?看我用python监控票源
同事说最近火车票难买,我就帮他用个脚本监控 一下. 最近高铁票比较难买,还有什么候补.要不停的刷,才有时候可以捡漏.有时候明明候补了,到快开车告诉你余票不足,候补失败. 凡事预则立,我打算写个脚本提前 ...
- filter,map,reduce三个数组高阶函数的使用
filter ,map ,reduce三个高阶函数的使用 普通方法解决数据问题 const nums1= [10,20,111,222,444,40,50] // 需求1.取出小于100的数字 // ...
- 【ST开发板评测】Nucleo-F411RE开箱报告
前言 面包板又举办开发板试用活动了,很荣幸能获得一块ST官方的Nucleo-F411RE开发板,感谢面包板社区和ST意法半导体的赞助,这是我第一次试用官方的开发板,收到板子后查了一些关于ST官方开发板 ...
- java 实现文件下载中文名不显示
需要将指定字符串的编码转换成浏览器里面的ISO-8859-1编码 String name = new String(name.getBtes("utf-8"),"ISO- ...
- python高级编程——进程和进程池
python提供了一个跨平台的多进程支持——multiprocessing模块,其包含Process类来代表一个进程对象 1.Process语法结构:(注: 传参的时候一定使用关键字传参) 2.自定义 ...
- Vue.js2.0快速入门笔记
vue.js 解耦视图与数据,可复用的组件,前端路由,状态管理,虚拟DOM. MVVM模式:当View(视图层)变化时,会自动更新ViewModel(视图模型),View与ViewModel之间双向绑 ...
- 甲方安全之安卓App第三方加固对比
前段时间公司要给 Android 应用进行加固,由笔者来选一家加固产品.然后发现,加固产品何其之多,且鱼龙混杂.各种问题也是层出不穷,比如,有些加固时间非常久.有些加固会失败.有些运行会崩溃等等问题. ...
- 对Android 8.0以上版本通知点击无效的一次分析
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/178 对Android 8.0以上版本通知点击无效的一次分 ...