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

Mr.*_*. L 149 git

git init再次发布时,现有git存储库会发生什么?

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

然后,错误地说,我git init再次运行,我得到Reinitialise现有的Git存储库消息.

尝试过git status,但它显示相同.那真的发生了什么?

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

cor*_*ard 191

从git 文档:

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


Gre*_*ill 106

这在git init文档中描述:

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


Joe*_*Joe 47

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

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

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

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