有时,我们用git commit代码时,发现commit的内容有误或者有些文件不小心被commit了,这个时候就需要撤销这一次的commit操作,通常可以使用git reset命令来实现。
用一句话概括该命令:
git reset - Reset current HEAD to the specified state
简单概括就是让HEAD这个指针指向其他的commit节点。
git reset命令的语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
也可以直接指定要指向的commit_id:
git reset [--soft | --mixed | --hard] [commit_id]
科普三个概念:
- 工作目录:就是我们工作时的代码存放的区域。
- Index暂存区:执行了git add操作或者之前commit后的代码修改后的内容都会存入此区域。
- Repository:代码仓库,commit后的代码存放区域。
git reset命令有三种模式:mixed(默认)、soft和hard,下面分别进行介绍这三种模式。
mixed
保留工作目录,并清空暂存区
reset如果不加参数,默认使用 --mixed参数。
执行reset命令,在重置位置的同时,只保留工作目录的内容,但会将 Ind