git reset 的使用
2014-01-04 18:28
253 查看
git reset 是用来设置master游标指向的 后边参数有三种。hard,mixed,soft
hard 改变master引用的指向,改变暂存区(index),改变工作区 【极危险,会抹掉工作区】
mixed 更改引用和重置暂存区,但不改变工作区。
soft 仅改变master游标指向,工作区和index都不改变。
用git reflog show branch名称
结果如下
通过查看reflog可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,但是git log则不能察看已经删除了的commit记录。
如果想恢复reset的commit,则用如下语句:
reset还有另外一种用法 就是撤销提交到暂存区的改动,相当于撤销git add 操作
hard 改变master引用的指向,改变暂存区(index),改变工作区 【极危险,会抹掉工作区】
mixed 更改引用和重置暂存区,但不改变工作区。
soft 仅改变master游标指向,工作区和index都不改变。
用git reflog show branch名称
$ git reflog show master $ git reflog show HEDA
结果如下
76fb938 HEAD@{0}: reset: moving to HEAD@{2} 11bae35 HEAD@{1}: checkout: moving from 5ba49fbb5bf7f128ffbafde9af5e20812c8c0f65 5ba49fb HEAD@{2}: rebase: delete log.txt 76fb938 HEAD@{3}: rebase: checkout 76fb 11bae35 HEAD@{4}: checkout: moving from 7f1e4ce4487e1754964fb72965a90b66769e1c7d
通过查看reflog可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,但是git log则不能察看已经删除了的commit记录。
如果想恢复reset的commit,则用如下语句:
$ git reset --hard HEAD@{1}
reset还有另外一种用法 就是撤销提交到暂存区的改动,相当于撤销git add 操作
$ git reset -- $ git reset HEAD #意义与上一条一样
相关文章推荐
- Android学习记录(6)—将java中的多线程下载移植到Android中(即多线程下载在Android中的使用)③
- MacOSX快捷键
- 细数IE6的一串串的恼人bug,附加解决方法!
- Android学习记录(6)—将java中的多线程下载移植到Android中(即多线程下载在Android中的使用)③
- C++ 08 抽象类
- git checkout的使用
- oracle查看相关用户表
- package-info.java文件作用
- retain和release倒底怎么玩?
- Objective-C NSPredicate
- 解决中文随机读取的乱码问题
- 改变eclipse字体、背景颜色
- snmp oid I/O监测
- 2014,大家好
- 矩阵论 第三章 矩阵的广义逆与线性方程组
- 体验云编程——IOS脚本学习门户
- 系统设计 - 软件构件技术
- uva 10721 Bar Codes (DP)
- nodejs的安装
- 《精通PKI网络安全认证技术与编程实现》 读书笔记二