我们从basic repository讲起。
1
我们都会使用这些命令来完成最基本的工作:
git-init或git-clone来创建git仓库
git-fsck来检查仓库的错误
git-gc用来完成一些琐碎的工作,比如重组或删减。
2
我们来专门研究下git-init命令。
git-init命令主要用于创建一个空的git仓库或者重新初始化一个已存在的仓库。
git-init命令会创建一个.git隐藏目录。在.git目录下,会创建objects, refs/heads, refs/tags和模板文件,与此同时,指向master分支的HEAD文件也会被创建。
如果在环境变量中定义了$GIT_DIR变量,那么git-init就不会在./.git目录下创建这些文件,而是在$GIT_DIR所指定的目录下创建。
环境变量$GIT_OBJECT_DIRECTORY是用来指示对象存储目录的路径的。如果设定了这个变量,则SHA1目录将被创建在哪里。否则,SHA1目录会默认创建在$GIT_DIR/objects中。
如果你突发奇想地在一个已经存在的仓库(也就是目录)中运行了git-init,也是没有任何问题的,git-init(很识相地)不会把当前目录下的git仓库信息覆盖掉。其实,常常在需要载入新加模板时才需要“在一个已存在的仓库中运行git-init”。
有一点需要注意,那就是git-init和git-init-db是完全一样的。git刚发布的时候是使用git-init-db的,但后来由于init所担任的工作越来越多,所以db这个词已经不能涵盖init的工作范围了,所以就去掉db,只剩下git-init了。
转载请注明:Git中国 » 【看日记学Git】之十四