`git branch -D test`: test分支还没有合入当前分支,所以要用-D参数才能删掉。
`git reflog` 可以查看所有分支的所有操作记录
`git log`则不能察看已经删除了的commit记录
`git reset --hard 63ee781`
****
它有三种模式,soft,mixed,hard
![](https://img.kancloud.cn/59/37/59377d378e1d4afb7a55428ed32bf9c7_638x359.png)
**reset --hard**后,所有的改动都被擦掉了
### reset --soft:保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区
**--hard**会清空工作目录和暂存区的改动,
**--soft则会保留工作目录的内容,并把因为保留工作目录内容所带来的新的文件差异放进暂存区**。
* **Working Tree** 当前的工作区域
* **Index/Stage** 暂存区域,和git stash命令暂存的地方不一样。使用git add xx,就可以将xx添加近Stage里面
* **Repository** 提交的历史,即使用git commit提交后的结果
![](https://img.kancloud.cn/dd/bf/ddbf3976b89b9aaa67dfb8f9f1cbe1bb_546x383.png)
### reset 不加参数(mixed):保留工作目录,并清空暂存区