git reset 的使用

来源:互联网 发布:网络办公管理v3.1系统 编辑:程序博客网 时间:2024/05/24 05:57

git reset 是用来设置master游标指向的 后边参数有三种。hard,mixed,soft

  • 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 5ba49fbb5bf7f128ffbafde9af5e20812c8c0f655ba49fb HEAD@{2}: rebase: delete log.txt76fb938 HEAD@{3}: rebase: checkout 76fb11bae35 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  #意义与上一条一样
0 0
原创粉丝点击