基本概念
我们先来理解下Git 工作区、暂存区和版本库概念
- 工作区:就是你正在编辑的目录。
- 暂存区:英文叫stage, 或index。存放工作区未提交的改动。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
删除暂存区文件
如果你错误的添加了不想添加的文件到暂存区
git rm --cache 文件名
简单粗暴的方式,删除暂存区所有文件:
git rm -r --cached .
删除暂存区文件并不会删除工作区的文件,仅仅删除了暂存区的快照而已
删除文件
同时删除工作区和暂存区的文件
git rm -f 文件名
删除commit
使用git reset
命令
彻底将工作区、暂存区和版本库记录恢复到指定的版本库。用来弃用之前的版本。
git reset --hard commitId
撤销已提交的版本库,不会修改暂存区和工作区。一般用来重新提交commit,重新编辑commit message
git reset --soft commitId
撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed commitId