运行 git init 两次是初始化存储库还是重新初始化现有的回购?

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

我用 git init创建了一个存储库。创建一个文件,添加,提交。检查状态(无需提交)。然后创建另一个文件,检查状态,我可以看到它的取消跟踪的预期。

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

试过 git status,但是结果还是一样,那么到底发生了什么?

以这种方式重新初始化现有的 git 存储库是有害的还是有益的? 为什么我们可以在现有的存储库中使用 git init

77448 次浏览

它似乎是安全的,不应该覆盖任何重要的东西。

引自 git init文件:

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

它似乎是安全的,不应该覆盖任何重要的东西。

来自 git 医生:

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

自从1.7.5版(B57fb80a7)以来,现有回购中的 git init也允许移动 .git目录:

主要原因 重新运行“ git init”是为了获取新添加的模板(或者移动 如果给定了—— single-git-dir,则将存储库转移到另一个位置)。

“拾取新添加的模板”意味着任何尚未从 模板目录复制的模板将被复制到现有的 git 目录中。

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