【问题标题】:Does running git init twice initialize a repository or reinitialize an existing repo?运行 git init 两次是初始化存储库还是重新初始化现有存储库?
【发布时间】:2011-07-06 04:50:47
【问题描述】:

当您再次发出 git init 时,现有的 git 存储库会发生什么情况?

我使用git init 创建了一个存储库。创建文件,添加,提交。检查状态(没有提交)。然后创建了另一个文件,检查状态,我可以看到它没有按预期进行跟踪。

然后,错误地说,我再次运行 git init 并收到 重新初始化现有 Git 存储库消息

试过git status,但显示相同。那么究竟会发生什么呢?

以这种方式重新初始化现有的 git 存储库是否有害或有帮助?为什么我们可以在现有存储库中git init

【问题讨论】:

  • FWIW 使用 Xcode 我第一次创建 local 存储库 first 时间,然后当我去 Github.com 创建一个新的远程存储库.我这样做了,然后将我的本地存储库链接到我的远程......我按照它的步骤(在 Github.com 上提供),它的第一步是 git init 我做了。大概这是 Xcode 自动创建它之后的第二次

标签: git


【解决方案1】:

来自 git docs:

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

【讨论】:

    【解决方案2】:

    这在git init 文档中有描述:

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

    【讨论】:

      【解决方案3】:

      从 v1.7.5 (b57fb80a7) 开始,现有 repo 中的git init 也允许移动.git 目录:

      主要原因 重新运行 'git init' 是为了获取新添加的模板(或移动 如果给出了 --separate-git-dir,则将存储库转移到另一个地方)。

      'Picking up new-added templates' 意味着任何尚未从 the template directory 复制的模板现在将被复制到现有的 git 目录中。

      '将存储库移动到另一个地方'意味着,如果 --separate-git-dir 指向其他地方,现有的 .git 目录将被移动到那里并替换为链接。

      【讨论】:

      • 我不明白“拾取新添加的模板”部分。你能告诉我这是什么意思吗?
      猜你喜欢
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 2015-04-02
      • 1970-01-01
      • 2022-10-18
      • 2021-01-23
      相关资源
      最近更新 更多