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

时间:2011-03-01 01:49:05

标签: git

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

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

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

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

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

4 个答案:

答案 0 :(得分:175)

来自git docs

  

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

答案 1 :(得分:106)

git init文档中描述了这一点:

  

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

答案 2 :(得分:46)

自v1.7.5(b57fb80a7)起,现有仓库中的git init也允许移动.git目录:

  

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

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

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

答案 3 :(得分:-1)

这意味着您已经初始化了git。因为您已经从该路径在github上上传了文件。您检查路径,然后通过.git名称创建一个文件夹。这就是为什么您无需再次要求初始化git的原因。您可以直接转到下一步

git add。

Git folder