GitHui

git reset回退以前某个版本

git reset命令是git最神奇的命令之一,它可以在提交历史中任意穿梭。并且可以根据参数决定重置缓存区或者工作区。

要了解git reset,首先要知道git管理的三个区:工作区,暂存区,历史记录区。

一、回滚到某个历史版本

使用的命令是:

git reset --mixed commit-id

参数:

1、--soft,看命字就知道了,这个操作比较软,只是把HEAD指针也指向这个历史版本,暂存区不变。这个动作极为迅速。

2、--mixed,这是git reset默认参数,表示把暂存区文件恢复到该历史版本,同时HEAD指针也指向这个历史版本。

3、--hard,这就有点强硬的意思了,加了这个参数要慎重,因为它会在--maxed的基础上,把工作区的文件也覆盖了。

4、--merge

5、--keep

二、撤销暂存区的修改

比如,刚刚使用git add命令添加了文件到暂存区,发现加错了文件需要撤销,这时候就可以使用git reset命令撤销。

git reset

或者使用git reset HEAD,其效果是一样的:

git reset HEAD