Git中的版本库,暂存区,工作区
来源:互联网 发布:androis中的js调试 编辑:程序博客网 时间:2024/05/17 06:49
来自网友的归纳:
图中左侧为工作区,右侧为版本库。在版本库中标记为index的区域为暂存区,标记为master的是master分支所代表的目录树。
图中可以看出, 此时HEAD实际是指向master分支的一个“游标”,所以图示的命令中出现HEAD的地方可以用master来替换。
途中的objects标识的区域为git的对象库,世纪位于 .git/objects目录下。
当对工作区修改(或新增)的文件执行git add命令时,暂存区的目录树会被更新,同时工作区修改(或新增)的文件内容会被写入到对象库中的一个新的对象中,而该对象的id被记录在暂存区的文件索引中。
当执行提交操作(git commit)时,暂存区的目录树会写到版本库(对象库)中,master分支会做相应的更新,即master最新指向的目录树就是提交时原暂存区的目录树。
当执行git reset HEAD命令时,暂存区的目录树会被重写,会被master分支指向的目录树所替换,但是工作区不受影响。
当执行git rm –cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。
当执行git checkout .或git checkout – 命令是,会用暂存区全部的文件或指定的文件替换工作区的文件。这个操作很危险,会清楚工作区中未添加到暂存区的改动。
当执行git checkout HEAD .或git checkout HEAD 命令时,会用HEAD指向的master分支中的全部或部分文件替换暂存区和工作区中的文件。这个命令也是极度危险的。因为不但会清楚工作区中未提交的改动,也会清楚暂存区中未提交的改动。
ps:摘抄自《git权威指南》
- Git中的版本库,暂存区,工作区
- git中的版本库,暂存区和工作区
- Git 工作区、暂存区和版本库
- Git 工作区、暂存区和版本库
- Git工作区、暂存区和本地版本库关系
- git 工作区、版本库和暂存区
- Git 工作区、暂存区和版本库
- Git 工作区、暂存区和版本库
- Git 工作区、暂存区和版本库
- Git工作区,暂存区和版本库
- Git 工作区、暂存区和版本库
- git工作区、暂存区和版本库之间联系
- 【Git】工作区、暂存区与版本库
- Git 工作区、暂存区和版本库
- Git 工作区、暂存区和版本库
- git工作区、暂存区、版本库之间的关系
- Git 工作区、暂存区和版本库
- Git-工作区_暂存区_版本库
- Linux Shell系列教程之(十)Shell for循环
- Moncler Jacka again and again
- Qt学习——停靠窗体QDockWidget类
- Facebook App 优化工具 ReDex 优化的 6 点及未优化的一大方面
- Android中的NDK环境搭建和简单实例
- Git中的版本库,暂存区,工作区
- 二维码扫描资料
- PHP数组
- android dialog实现底部弹出和手指滑动隐藏效果
- XSD (xml Schema Definition)
- BGR保存成bmp图像
- 外观模式案例分析
- Linux Shell系列教程之(十一)Shell while循环
- Android获取手机唯一标识