Git有三大区(工作区、暂存区、版本库)以及几个状态(untracked、unstaged、uncommited)
把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add
把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master
分支,所以,现在,git commit
就是往master
分支上提交更改。
1、打开你的项目文件夹,除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区
2、在工作区新增一个文本文件,状态是
Untracked(未跟踪)
3、git
add
命令实际上就是把要提交的所有修改放到暂存区(Stage),Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态
4 、执行
git commit
就可以一次性把暂存区的所有修改提交到分支。
git diff 比较的是工作区和暂存区的差别
git diff --cached 比较的是暂存区和版本库的差别
git diff HEAD 可以查看工作区和版本库的差别
仅仅删除暂存区里的文件
git rm --cache 文件名
删除暂存区和工作区的文件
git rm -f 文件名
删除错误提交的commit
git reset有三个选项,--hard、--mixed、--soft。
//仅仅只是撤销已提交的版本库,不会修改暂存区和工作区 git reset --soft 版本库ID
//仅仅只是撤销已提交的版本库和暂存区,不会修改工作区 git reset --mixed 版本库ID
//彻底将工作区、暂存区和版本库记录恢复到指定的版本库 git reset --hard 版本库ID
相关文章:git工作区、暂存区、版本库之间的关系