10.1 Git Internals - Plumbing an
2017-04-16 本文已影响0人
老沈Rosen
第一段
- git本质上是一个内容可寻址的文件系统。而我们常用到的版本控制功能是基于该文件系统写的更易用的UserInterface
- 内容可寻址文件系统层是一个炫酷的工具。
Plumbing and Porcelain
- Plumbing就是更加底层的,进行一些底层操作的git命令(偏向文件系统操作)。这些命令往往不直接用命令行手动执行,而是被组合成自定义工具。
- Porcelain就是对用户更加友好的,更易使用的git命令(偏向版本控制操作)。
- 仓库初始化和
.git
文件夹
- 初始化一个git仓库用下面这个命令。
git init
- git创建啦
.git
文件夹,git所有存储和操作都在该文件夹中进行,如果需要备份仓库,只需要复制这个文件夹就可以啦。 -
.git
文件夹下的各个文件夹和文件的作用简单介绍。-
description
文件没啥用,只被用于GitWeb Program,不用管。 -
config
文件包含啦本仓库指定的某些设置选项。 -
info
文件夹,存储啦一个全局排除文件exclude
。 -
hooks
文件夹这一章节不讲。 - 另外四个重要条目:
-
objects
文件夹,存储啦你数据库所有的对象。 -
refs
文件夹,存储啦指向commit对象的pointer(就是branches) -
HEAD
文件,指向你目前check out的branch -
index
文件,就是Git存储你的Staging area信息的地方。
-
总结
- 初始化空的git仓库
git init
- 重要文件夹
-
objects
文件夹,存储啦你数据库所有的对象。 -
refs
文件夹,存储啦指向commit对象的pointer(就是branches) -
HEAD
文件,指向你目前check out的branch -
index
文件,就是Git存储你的Staging area信息的地方。
-