Git:从零开始创建仓库





5.00/5 (6投票s)
本技巧描述了在不使用 `git init` 命令的情况下创建 git 仓库的步骤。
引言
我相信这个技巧对所有使用 git 并希望更多地了解 git 内部细节的人都会有所帮助。
我的目标是创建一个最小的有效“.git”目录。 在我的步骤结束时,“git status
”命令应该对“.git”目录的手动结构感到满意。
背景
在使用 Git 时,了解内部细节非常有帮助。
创建仓库
首先,创建“repo”目录。 在此目录内部,我们将创建几个文件夹和一个文件。 之后,git 就会满意了。
在开始之前,我们使用“status
”命令询问 git 关于“repo
”的情况。
git status
我们得到以下回复
fatal: Not a git repository (or any of the parent directories): .git
正如你所见,git 不满意。
所以我们将尝试让 git 对我们的目录感到满意。
- 在“repo”内部创建“.git”目录。 我们的仓库将位于此处。
- 在“.git”内部创建“objects”目录。 这个目录将包含我们的提交。
- 在“.git”内部创建“refs”目录。 这个目录将包含分支。
- 最后但并非最不重要的一点。 在“.git”内部创建文件“HEAD”,内容为“ref: refs/heads/master”。 这是指向当前分支的指针。
这就是我们所需要的全部。
再次询问 git 关于“repo”。
git status
Git 的回复是:
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)
Git 现在满意了!
我们已经创建了 git 仓库,而没有使用“init
”命令。
历史
- 2015年12月27日 初始版本