Git本地仓库内部基本结构
Git本地仓库(本文不涉及远程仓库)的内部结构简单如下图:

这是一个appengine项目,刚从远程仓库中clone出来。这个目录下,除了.git目录外的都算作工作区。.git目录下有很多东西,这里只挑简单的描述。
1.objects目录存放的是实际的文件
2.index目录存放的是已经通过git add添加进本地仓库的文件索引。注意,当git add命令执行的时候,文件已经被存到了objects目录下。
index目录就是暂存区,stage area or cached area.
3.当git commit被执行后,index目录中的索引会被存放到refs目录下。refs目录下保存的是branch。
4.HEAD文件保存了当前的branch,比如我的HEAD文件内容:
chenshu@sloop2:~/work/189/appengine$ git diff --cached HEADdiff --git a/m b/mnew file mode 100644index 0000000..6e9f0da--- /dev/null+++ b/m@@ -0,0 +1 @@+h上面的命令比较了staging区域m文件和master分区。