您的位置:首页 > 其它

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名称
$ 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  #意义与上一条一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: