git回滚线上代码
由于之前自己推代码的时候操作失误,push代码的时候没有push到线上的dev分支,而是push到了线上master分支(主要是因为没有在命令后写分支名,直接推到默认master分支上了),覆盖掉了线上的代码。在搜索解决办法的时候,发现网上给的信息大多不够全,且很多无用。所以在回滚成功之后,写一下关于回滚的文章。
1.如果没有push上去,可以用git reset 本地回滚到之前的代码。
git log查看版本号,然后在用git reset + 版本号回滚。
2.如果push上去了,已经覆盖了线上的代码,就需要先用git revert + 版本号 或者 HEAD(回到上一个push的版本),将线上的代码回滚
用git push -u origin master:master(可以不写,默认与分支相同) -f 强制提交。如果没有-f gitlab会拒绝你的操作。
3.git revert 和 git reset 的区别
(1)git reset命令
1.git reset –mixed + 版本号
暂存区(add/index区)和提交区(commit区)会回退到某个版本,但代码不改变。
2.git reset –soft + 版本号
提交区(commit区)会回退到某个版本,暂存区(add/index区)不会回退,代码不改变。
3.git reset –hard + 版本号
暂存区(add/index区)和提交区(commit区)会回退到某个版本,代码会改变。(推荐)
(2)git revert命令
git revert + 版本号
远程master和本地master都会回退到某个版本。暂存区(add/index区)和提交区(commit区)会回退到某个版本,代码会改变。
git回滚线上代码的更多相关文章
- git 回滚到上个版本命令以及忽略某些文件提交
1.git回滚到上个版本 git reset --hard FETCH_HEAD 2.git忽略某些文件的提交 以前是用默认的.gitignore 然后再里面默认某些文件不提交.但是有个问题,.git ...
- 使用git 更新线上代码
先本地代码合并://1合并分支git branch//2查看taggit tag //3添加tagcloud_crm]$ git tag -a v1.0.2 -m "0902"// ...
- git 获取线上代码并合并到本地
//查询当前远程的版本 $ git remote -v //获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch]) $ git fetch origin ...
- git回滚到上一版本
git reset --hard HEAD~1
- git让线上代码强制覆盖本地的
git强制覆盖本地命令(分步执行): git fetch --all git reset --hard origin/master git pull git强制覆盖本地命令(单条执行): ...
- Git回滚代码暴力法
Git回滚有多种方式,这里使用的是[强制提交到远程分支] 效果为:如回滚前的提交记录是 1.2.3.4,使用这种方法回滚到2,那么提交记录就变成了1.2. 操作方法: 需要在本地的Git仓库,右键选择 ...
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...
- git回滚远程仓库代码/错提master分支的恢复
前言 今天周五了,刚接了个新微服务模块,下班前高高兴兴开发完,提交git代码,jenkins发布到测试环境.突然看到一个提示 我最近提的代码呢?!! 想到可能会提错仓库,转念一想,不对呀,我怎有这么高 ...
- jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...
随机推荐
- SQL Serever学习4
SQL Server系统中数据库相关概念 在SQLServer数据库系统中分为2大类,系统数据库和用户数据库. SQLServer安装后系统会自动生成4个系统数据库,他们是Master,Model,M ...
- c#参数修饰符-out
out 关键字通过引用传递参数. 方法定义和调用方法必须显式使用out关键字: 调用方法时参数不必初始化,方法内必须对其赋值: 参数中可以声明多个out修饰的参数. 例: public void Us ...
- Docker学习(一): 基本概念
特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...
- 一:Java基础
/-- 第一章:概念 --/ 1.java特点:跨平台.面向对象.开源 2.JVM是Java虚拟机的缩写,可以实现跨平台 3.java运行原理: 1).编写java源文件,以.java作为后缀名 2) ...
- sublime text3 JS语法检测插件
首先ctrl+shift+P用包管理器安装sublimeLinter和sublimeLinter-jshint 前往node官网下载nodejs并安装 安装完node后打开命令行输入npm insta ...
- Delegate背后的秘密
表面上看来使用delegate是一件很简单的事. 用delegate关键字定义,使用老套的new创建一个instance ,使用熟悉的方法调用写法调用,只不过不在是方法名,而是委托名. 但是在这背后C ...
- sublime设置不提示更新
sublime 作为轻量级的编辑器非常好用,时不时提醒购买还好 但是经常还提醒更新就不能接受了 解决方法: Just go to Preferences -> Settings-User and ...
- csharp:FlowLayoutPanel
/// <summary> /// 集合添加的控件 /// 涂聚文20150339 /// </summary> public void AddNewTextBox() { P ...
- 30个优秀的chrome网页设计开发插件
BuiltWith Resolution Test colorPicker Palette for Chrome Chrome Sniffer JS Library Detector Google F ...
- PHP读取Excel类文件
想要使用PHP读取Excel文件必然要用到PHPExcel开源类库,网上资源应该挺多的.但是每一种的操作必然都是不同的,可原理应该都是大同小异. 这个文件夹里包含的就是PHPExcel类文件,在外面还 ...