【问题标题】:What does 'reinitialize' mean/actually do in git? [duplicate]“重新初始化”是什么意思/实际上在 git 中做什么? [复制]
【发布时间】:2015-03-24 20:59:24
【问题描述】:

我在下面找到了一个相关问题,但无法理解“选择新添加的模板”,并且似乎这个解释在最新的http://git-scm.com/docs/git-init中被删除了

Does running git init twice initialize a repository or reinitialize an existing repo?

在现有存储库中运行 git init 是安全的。它不会 覆盖已经存在的东西。主要原因 重新运行 git init 是为了获取新添加的模板。

我只是不知道 reinitialize 实际上会做什么,希望有人能详细解释一下,非常感谢:)

【问题讨论】:

  • “标记为重复”文本显示“如果这些答案不能完全解决您的问题,请提出一个新问题。”这个问题就是这样:OP阅读了副本,不理解部分答案,并提出了一个新问题(this one)。我提名这个重新开放。

标签: git git-init


【解决方案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 符号链接到存储库。

如果这是重新初始化,存储库将被移动到指定的路径。

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 2019-12-13
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多