git回退到历史版本
问题描述
在开发的过程中,想要修改一个参数的命名。然后修改各种地方,并且push上码云的远程仓库。然后突然发现还要改很多地方,突然后悔不想改动了。那该怎么办呢?
处理步骤
- 回退本地的git版本
- 将本地的代码强制推送至远程仓库中
回退本地git版本
- 首先查看git版本信息,使用
git log
$ git log
commit 6fecbc4fc9d7e23f5c66a504a413cc1ed4ed7f0c (HEAD -> master, origin/master,origin/django-template, origin/HEAD, django-template)
Author: kubernete <357018097@qq.com>
Date: Thu Aug 15 22:24:16 2019 +0800 修改table行数的参数名为table-lines commit 0e149c39eb4401647a9468eaf2b68b45832dbcb2
Author: kubernete <357018097@qq.com>
Date: Thu Aug 15 22:05:07 2019 +0800 取消tab菜单的360度翻转动画效果 commit 7c4b1492616ae788e9f58461c72fc12f6c9b1e2d
Author: lijw <357018097@qq.com>
Date: Thu Aug 15 19:44:24 2019 +0800 编写设备机组列表中查询隐藏域填充显示table行数
看了上面的git提交日志,我不想要修改table行数的参数名为table-lines这次的代码提交,想直接回退到取消tab菜单的360度翻转动画效果的版本。 那么可以直接执行回退到上一版本。
- 执行回退到上一版本,使用
git reset --hard HEAD^
# 执行回退至上一次提交的版本
$ git reset --hard HEAD^
HEAD is now at 0e149c3 取消tab菜单的360度翻转动画效果 # 查看log确认一下
$ git log
commit 0e149c39eb4401647a9468eaf2b68b45832dbcb2 (HEAD -> master)
Author: kubernete <357018097@qq.com>
Date: Thu Aug 15 22:05:07 2019 +0800 取消tab菜单的360度翻转动画效果 commit 7c4b1492616ae788e9f58461c72fc12f6c9b1e2d
Author: lijw <357018097@qq.com>
Date: Thu Aug 15 19:44:24 2019 +0800 编写设备机组列表中查询隐藏域填充显示table行数
强制将本地代码推送至远程仓库
但是到了这里,其实只是本地回退了版本而已,远程仓库的并没有回退。如果想要将本地的代码直接push到远程仓库则会报错如下:
$ git push
To gitee.com:kubernete/Performance-Test-Management-demo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitee.com:kubernete/Performance-Test-Management-demo.git'
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.
这里会提示需要更新远程仓库,如果更新执行git pull
的话,又会将刚才回退的版本下载回来。
此时需要强制将本地代码推送至远程仓库之中,使用git push -f origin master
执行如下:
$ git push -f origin master
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered By Gitee.com
To gitee.com:kubernete/Performance-Test-Management-demo.git
+ 6fecbc4...0e149c3 master -> master (forced update)
这样就GITHUB上的版本就是历史版本了,直接CLONE就可以下载下来 GIT回滚之后再滚回去:
使用git reflog查看之前操作的commit信息,然后使用 git reset --hard 7d2bc17 回到7d2bc17操作时对应的版本; 文章转载自:https://cloud.tencent.com/developer/article/1490112,https://blog.csdn.net/shruber/article/details/78269046
git回退到历史版本的更多相关文章
- 在 Git 中 Checkout 历史版本
昨天写代码的时候,误删了一个文件.今天发现的时候,commit 已经 push 到版本库了.本想用 git reset 回退版本,找回文件后重新提交.但是想起 Git 是一个版本控制系统哎,直接从版本 ...
- 『现学现忘』Git基础 — 24、Git中查看历史版本记录
目录 1.查看详细的历史版本记录 2.简化显示历史版本记录 3.历史版本记录常用操作 (1)指定查看最近几次提交的内容 (2)以简单图形的方式查看分支版本历史 (3)翻页与退出 4.查看分支相关的版本 ...
- idea中git回退本地仓库版本
场景:代码commit到本地仓库,还没有push到远程仓库,这时要回退代码. 介绍下Reset Head中三种Reset Type类型: 1.Mixed(默认):它回退到某个版本,本地会保留源码,回退 ...
- idea中git回退远程仓库版本
工作中遇到,代码已提交并已提交到远程仓库,现需要回退到之前版本,记录如下: 记录当前版本的版本号和需要回退到版本的版本号. current version:85e7f32dfe421c5892a4e2 ...
- GIT 获取指定历史版本代码
cd 到该项目的一个本地仓库下 log 查看提交记录,找到想要的提交记录,粘贴对应的希哈值 执行 git checkout 希哈值 这本地的这个仓库的代码就会变成你想要的那个版本的代码
- git 回退到服务器版本操作
git fetch git reset orgin master --hard git pull
- HDU 4348.To the moon SPOJ - TTM To the moon -可持久化线段树(带修改在线区间更新(增减)、区间求和、查询历史版本、回退到历史版本、延时标记不下放(空间优化))
To the moon Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- Git 强制回退到某个历史版本再推送到远程
1. 使用 git log 命令历史版本记录回退版本 git reset --hard f6a7c803a6931a9eca011d4e097389e0845cbe49 2. 推送到远程 git pu ...
- git操作记录(如何回退到某个历史版本,如何提交部分文件等方法)
当前项目使用git管理代码,在使用的过程中会遇到一些问题,这里记录下 1.合并代码后 在合并组员的代码后会出现下面的界面,开始的时候都会关闭,重新打开,乐此不疲到忍无可忍 解决方法: 出现这种界面是要 ...
随机推荐
- CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...
- 使用 bash 脚本把 AWS EC2 数据备份到 S3
目录 一.IAM 秘钥授权方式(普通) 1.1.打开 IAM 1.2.添加用户 1.3.安装和配置 AWS CLI 1.4.配置授权 二.IAM 角色授权方式(安全) 2.1.创建一个 EC2 访问 ...
- Flutter之ExpansionTile组件
ExpansionTile组件 ExpansionTile Widget就是一个可以展开闭合的组件,常用的属性有如下几个. title:闭合时显示的标题,这个部分经常使用Text Widget. le ...
- Unity 实现橡皮擦效果
我所实现的橡皮擦效果是设置图片某点的像素的透明度为0,来简单实现擦除效果的: 下面是效果 首先需要注意两点:1:设置 Main Camera 的 projection 属性为Orthographic ...
- 51nod1050 循环数组最大子段和
思路: 分两种情况讨论. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; ; ll sum[ ...
- 再谈JVM中类加载
前言 由于本人参加面试,但是JVM这块回答的十分不好,问了面试官,面试官说我基础不行!我真的不行,所以看过的不一定能理解,感觉之前就是糊弄任务,然后这次等实训结束,啥都干完了,我就记录下,深入了解下面 ...
- webpack4实例
webpack现在已经成为前端很多的打包器.网上关于webpack的相关文章也是很多,本文主要是根据自己的学习步骤来记录的,进行简单的webpack实例的讲解. 注意:一定要确定安装的node.js的 ...
- 前端JS之HTML利用XMLHttpRequest()和FormData()进行大文件分段上传
用于网页向后端上传大文件 ### 前端代码<body> <input type="file" name="video" id="fi ...
- rdbtool
https://www.cnblogs.com/wjoyxt/p/10577361.html https://github.com/sripathikrishnan/redis-rdb-tools h ...
- String、StringBuilder、StringBuffer的爱恨情仇
第三阶段 JAVA常见对象的学习 StringBuffer和StringBuilder类 (一) StringBuffer类的概述 (1) 基本概述 下文以StringBuffer为例 前面我们用字符 ...