我在下面找到了一个相关的问题,但无法理解“选择新添加的模板”,并且似乎这个解释在最新的http://git-scm.com/docs/git-init中被删除了
运行 git init 两次是初始化存储库还是重新初始化现有存储库?
在现有存储库中运行 git init 是安全的。它不会覆盖已经存在的东西。重新运行 git init 的主要原因是选择新添加的模板。
我只是不知道 reinitialize 实际上会做什么,希望有人能详细解释一下,非常感谢:)
我在下面找到了一个相关的问题,但无法理解“选择新添加的模板”,并且似乎这个解释在最新的http://git-scm.com/docs/git-init中被删除了
运行 git init 两次是初始化存储库还是重新初始化现有存储库?
在现有存储库中运行 git init 是安全的。它不会覆盖已经存在的东西。重新运行 git init 的主要原因是选择新添加的模板。
我只是不知道 reinitialize 实际上会做什么,希望有人能详细解释一下,非常感谢:)
相同的git init
文档对模板有这样的说法:
模板目录
模板目录包含
$GIT_DIR
创建后将被复制到的文件和目录。模板目录将是以下之一(按顺序):
选项给出的参数
--template
;
$GIT_TEMPLATE_DIR
环境变量的内容;配置
init.templatedir
变量;或者默认模板目录:
/usr/share/git-core/templates.
默认模板目录包括一些目录结构、建议的“排除模式”(参见gitignore[5])和示例挂钩文件(参见githooks[5])。
因此,如果您手动更改了 中的文件/usr/share/git-core/templates
,或者可能升级到带有不同模板的新版本的 Git,重新初始化会将这些新文件复制到现有存储库中。
该文档还提出了重新初始化的另一个原因:
--separate-git-dir
如果给出,将存储库移动到另一个地方
然后:
--separate-git-dir=<git dir>
与其将存储库初始化为
$GIT_DIR
或的目录,不如在其中./.git/
创建一个包含实际存储库路径的文本文件。此文件充当与文件系统无关的 Git 符号链接到存储库。如果这是重新初始化,则存储库将移动到指定路径。