GIT的版本库
(kwydwuf注意:新版本的git应该使用git init,不应该使用init-db命令。有关详细信息,您可以通过命令git help init来检查。)
够了。现在让我们为本文的写作创建一个版本库:$mkdir?gittutorcn$cd?gittutorcn$git?Initgit会如下响应:初始化?空的?饭桶?知识库?在/[您的路径]/中。git还是(初始化?空的?饭桶?知识库?在?/users/1A/gittutorcn/。git/)这样就创建了一个空的版本库,并创建了一个名为。git创建在当前目录中。可以用ls -a查一下,请注意三项:
*一个名为HEAD的文件,我们现在来看看它的内容:$cat.git/HEAD现在HEAD的内容应该是这样的:ref:refs/HEADs/master我们可以看到,头文件的内容实际上只包含了一个索引信息,这个索引会一直指向你项目中当前的开发分支。
*名为objects的子目录,包含项目中的所有对象。我们不需要直接知道这些对象的内容,但是要关心这些对象中存储的项目的数据。
注意
关于git对象的分类和git对象数据库的描述,请参考【讨论】。
*名为refs的子目录,用于存储指向对象的索引。
具体来说,子目录refs包含两个子目录,分别叫做heads和tags,顾名思义:它们存储不同开发分支的head的索引,或者你用来校准版本的tags的索引。
请注意:master是默认分支,这就是原因。git/HEAD在创建时指向master,虽然目前实际上并不存在。Git将假设您将在master上开始并开始您未来的工作,除非您创建自己的分支。
另外,这只是一个约定俗成的习惯。事实上,你可以用任何名字来调用你的工作分支,而不必在版本库中有一个名为master的分支,尽管许多git工具认为master分支是存在的。
现在已经创建了一个git版本库,但是它是空的,还不能做任何事情。下一步是如何将数据植入版本库。