git 各个区的区别 git工作区、暂存区、版本库之间的关系 GIT 工作区,缓存区 Git删除暂存区或版本库中的文件

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工作区、暂存区、版本库之间的关系

GIT 工作区,缓存区

Git删除暂存区或版本库中的文件

猜你喜欢

转载自www.cnblogs.com/xuey/p/8708017.html