git 版本(commit) 回退 -- 使用git reset 指令
刚刚提交了三个commit, git reflog显示如下:

最后一个commit在文件末尾加了一行:v3,以此类推:

下面,使用git reset --hard commitID来进行commit回退:(应该回滚的时工作区的commit版本吧)
1)回到最后一个commit之前,即回到v2后的版本:
git reset --hard fe0b7d6
( 亦可以使用快捷的方式: git reset --hard HEAD ^ ,^ 表示回到上一个版本,如果需要回退到上上个版本的话,将HEAD^改成HEAD^^, 以此类推。那如果要回退到前100个版本,这种方法肯定不方便,我们可以使用简便命令操作:
git reset --hard HEAD~100, 个人建议使用~,网上有人说经常遇到^的符号问题。 )
该指令执行后:


虽然回退了,执行git relog之后,v3的commit记录还是在的。然后,可以继续执行git reset --hard commitID,可以回滚到任何一此commit的状态。
2)返回v3的commit:
git reset --hard a018ae3
注意:
我遇到的一个问题:执行git reset --hard commitid退到v2的状态,然后执行git reset --hard commitid退到v1的状态,然后执行git reset --hard commitid退到v3的状态,, 然后,再执行的话,不管执行git reset --hard commitid还是git reset --hard HEAD~100都会出现问题如下问题,原因还未查到。查到之前,还是简单操作比较好,先只用git reset --hard HEAD~100这种指令,然后,只在回到最后一个commit时候,用git reset --hard commitid.

git reset --soft,--hard的区别
https://www.jianshu.com/p/c6927e80a01d
ref:
https://blog.csdn.net/zt1519/article/details/81713748
git 版本(commit) 回退 -- 使用git reset 指令的更多相关文章
- 【Git】3、创建Git版本库、配置Git仓库用户邮箱信息
初识Git 文章目录 初识Git 1.创建Git版本库 认识.git 2.基础配置 2.1.查看配置信息 2.2.配置昵称邮箱信息 2.3.修改配置信息 1.通过命令行 2.通过修改配置文件. 修改全 ...
- Git命令之回退篇 git revert git reset
Git command之回退篇 欲练回退 必先了解:HEAD.index.WorkingCopy HEAD: 当前所在的分支版本顶端的别名,也就是最新的一次commit. git commit 之后与 ...
- Git 中的回退操作:reset 和 revert
Git 中回退有 reset 和 revert,这两个的区别就是是否保留更改记录 假设当前的提交情况是:A <- B <- C <- D <- HEAD,如下图: 当前是 D, ...
- [Practical Git] Format commit history with git log arguments
When running the git log command, we can pass in options as arguments toformat the data shown for ea ...
- git 远程仓库版本的回退以及git reset 几种常用方式记录
由于 github push 了两个比较潦草的commit, 自己很不满意,又不想重新开vpn进行上传,所以找了一下相关的教程. 最后研究了一下,原理为先在本地还原到你想要的commit,然后强制pu ...
- git 版本撤销,回退等
git checkout -- <file> #丢弃工作区的修改, 不要省略 -- ,这是只在工作区(work tree)修改了内容,还没有add 到暂存区,此时想撤销修改. ...
- [Practical Git] Filter commit history with git log arguments
In the last lesson, we learned how to format the git log output; in this lesson we will learn how to ...
- Git学习笔记(2)——版本的回退,和暂存区的理解
本文主要记录了版本的回退,以及工作区,暂存区概念的理解. //开始之前,先回顾上次的内容,修改文件如下,并提交到版本库. Git is a distributed version control sy ...
- Git 版本回退的几种操作方法
1, 结合使用 git reset --hard <commit id> , git reset --hard HEAD^, git reflog , git log 1) 使用 git ...
随机推荐
- CA of sharepoint2016
总体来说,CA界面变动不大
- MTSC2019大会日程重磅发布,腾讯WeTest独家Topic大揭秘!
WeTest 导读 中国移动互联网测试开发大会 Mobile Testing Summit China(简称 MTSC)是由国内最大的移动测试技术社区 TesterHome 发起的软件测试行业技术会议 ...
- p12证书
http://my.oschina.net/u/1245365/blog/196363
- mysql建库,建表,补列
SET NAMES UTF8;DROP DATABASE IF EXISTS tmooc; CREATE DATABASE tmooc CHARSET=UTF8; USE tmooc;CREATE T ...
- Python元组与字符串操作(8)——三数排序多种实现
练习 依次接收用户输入的3个数,排序后打印 1.转换int后,判断大小排序,使用分支结构完成 num1 = [] for i in range(3): num1.append(int(input('& ...
- uiautomator 调试例子
package com.bing.cn; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Dem ...
- xposed+justtrustme
1.xposed下载: https://repo.xposed.info/module/de.robv.android.xposed.installer https://forum.xda-devel ...
- Lp距离, L1范数, 和L2范数(转载)
范式可以理解成距离 转载自: https://blog.csdn.net/hanhuili/article/details/52079590 内容如下: 由此可见,L2其实就是欧式距离.工程上,往往不 ...
- VMware10新建虚拟机
1. 新建虚拟机 2. 选择 “典型(推荐)(T)” 安装 3. “稍后安装操作系统”,创建一个空白硬盘 4. 选择 “Linux” 的 “CentOS 64位” 5. 设置 “虚拟机名称” 和 “位 ...
- xgboost:
https://www.zybuluo.com/Dounm/note/1031900 GBDT算法详解 http://mlnote.com/2016/10/05/a-guide-to-xgboost- ...