我在下面找到了一个相关的问题,但无法理解'选择新添加的模板',似乎在最新http://git-scm.com/docs/git-init
中删除了此解释Does running git init twice initialize a repository or reinitialize an existing repo?
在现有存储库中运行git init是安全的。它不会 覆盖已存在的东西。主要原因 重新运行git init是为了获取新添加的模板。
我只是不知道会重新初始化会做什么,希望有人可以解释它的细节,非常感谢:)
答案 0 :(得分:1)
同样git init
documentation对模板有这个说法:
模板目录
模板目录包含将在创建后复制到
$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符号链接到存储库。如果这是重新初始化,则存储库将移动到指定的路径。