错误的git reset操作之后的补救措施
(相关命令:git reset、git log、git reflog,要看文档的话用--help。)
这是一次愚蠢的行为之后的总结……避免我之后忘记了解决方法【逃
get reset --hard是一个非常危险的行为。
比如该项目,git log显示:
$ git log
commit cc53a1925fb7895ad88d155a43f3012249615919 (HEAD -> master)
Author: ***
Date: Mon Mar 12 16:47:00 2018 +0800 version commit 1ca078c22c4b7d5c79214069cb1be8d4122dbe7e
Author: ***
Date: Mon Mar 12 16:46:46 2018 +0800 version
此时执行git reset --hard HEAD^(回退为HEAD前一次提交):
$ git reset --hard HEAD^
HEAD is now at 1ca078c version
此时再次查看git log,发现version 1提交没有了。git log只查看当前提交的祖先。
$ git log
commit 1ca078c22c4b7d5c79214069cb1be8d4122dbe7e (HEAD -> master)
Author: ***
Date: Mon Mar 12 16:46:46 2018 +0800 version
此时可以git reflog,即查看每一次HEAD的变化,并reset到需要的commit。
$ git reflog
1ca078c (HEAD -> master) HEAD@{}: reset: moving to HEAD^
cc53a19 HEAD@{}: commit: version
1ca078c (HEAD -> master) HEAD@{}: commit (initial): version $ git reset cc53a19 --hard
HEAD is now at cc53a19 version
或者用git log -g(即--walk-reflogs)查看每一次HEAD的变化的日志,并进行reset。(代码略
错误的git reset操作之后的补救措施的更多相关文章
- git学习(六) git reset操作
		git reset 操作 git reset git reset HEAD 文件名 移除不必要的添加到暂存区的文件 git reset HEAD^ 或者 commitid 去掉上一次的提交 git r ... 
- git学习(十) idea git reset 操作
		git reset 是回滚操作,在 idea 中使用如下: Reset Type 有三种: Mixed 默认方式,只保留源码,回退 commit 和 index 信息 Soft 回退到某个版本,只回退 ... 
- <转载> 撤销 git reset 操作
		https://blog.csdn.net/mhlghy/article/details/84786497 
- git reset --hard 操作后的数据恢复
		在进行正文之前先简单介绍下git reset 命令 git reset git reset 命令用于改变当前的仓库状态,简单的场景用例:假设一次修改了两个文件,然而需要对这两个文件分别进行两次提交,在 ... 
- 代码回滚:git reset、git checkout和git revert区别和联系
		git reset.git checkout和git revert是你的Git工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文件. 因为 ... 
- git文件操作
		git下载地址: https://git-scm.com/download mac 直接使用brew下载brew install git 1Git一般工作流程: 1.在工作目录创建版本库 2.在工作目 ... 
- git push 错误,回滚 push操作
		作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 0.记一次使用git push后,覆盖了同事代码的糗事 前言:  都在WebStorm中操作,Idea或者PyCharm同理  为了高度还原尴尬 ... 
- Git撤销&回滚操作(git reset 和 get revert)
		转自:https://blog.csdn.net/asoar/article/details/84111841 git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 ... 
- 撤销git reset soft head操作
		一不小心在eclipse的git库中执行了Reset Soft(HEAD ONLY)操作,不料界面中竟然没有找到撤销方法(于是心中五味俱全,经过一番折腾,无果还是回归Git本身),最终通过命令行,很快 ... 
随机推荐
- awk练习
			首先,了解awk的运行格式 awk '条件类型1{动作1} 条件类型2{动作2} ...' filename 1. [root@server3 mnt]# cat passwd root x 0 0 ... 
- Shiro源码解析-登录篇
			本文以循序渐进的方式解析Shiro整个login过程的处理,读者可以边阅读本文边自己看代码来思考体会,如有问题,欢迎评论区探讨! 笔者shiro的demo源码路径:https://github.com ... 
- ES6新特性整理,你需要了解的ES6知识
			ES6是新版本JavaScript语言的标准,上一次标准的制订还是2009年出台的ES5.目前ES6的标准化工作已经完成,14年12月份放出了正式版本. 目前主流的浏览器都支持运行ES6代码,如果你的 ... 
- ubuntu 16.04 屏幕截图
			shift+prtsc 快捷键截取指定区域的图片 类似qq截图 
- GridView控件详解
			一.介绍 GridView控件一表格形式显示数据源中的数据.提供对列进行排序.分页以及编辑.删除单个记录的功能. 二.绑定数据源 第一种使用DataSourceID属性.可以直接把GridView控件 ... 
- 构建私有Docker Registry
			1.设置insecure-registry: 可能会出现无法push镜像到私有仓库的问题. 这是因为我们启动的registry服务不是安全可信赖的. 1) sudo vim /etc/default/ ... 
- 如何使一个div能够铺满整个页面? && 模态框的制作 && outerHTML
			说明: 使用 ele.outerHTML = '' 这样的方法可以很容易的清除一个元素. 当然也可以使用parent.removeChild() ,但是相较而言,还是使用 outerHTML = '' ... 
- Monkey入门之如何在android虚拟机中安装apk包
			如果想把公司的产品apk包安装到android虚拟机中,应该进行如下操作: 1.首先将apk包放到C:\Program Files\Android\android-sdk\platform-tools ... 
- how to install mapr sandbox
			Sometimes we need a standalone envrionment to test Hadoop and Spark, mapr is a choice to do that in ... 
- android httpclient 发送 PATCH 请求
			Put 用于全部更新 Patch 用于部分更新 重写一下 HttpPut 或 HttpPost 的 getMethod 方法 /** * Send a patch request */ public ... 
