看日记学git

《看日记学git》之十四

《看日记学git》系列

《看日记学git》之序 《看日记学git》之一 《看日记学git》之二 《看日记学git》之三

《看日记学git》之四 《看日记学git》之五 《看日记学git》之六 《看日记学git》之七

《看日记学git》之八 《看日记学git》之九(总结) 《看日记学git》之十 《看日记学git》之十一

《看日记学git》之十二 《看日记学git》之十三

===

我们从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》之十五

《看日记学git》之十六

《看日记学git》之十七

over~

1条评论

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *