当您再次发出git init
时,现有git存储库会发生什么?
我使用git init
创建了一个存储库。创建了一个文件,添加,提交。检查状态(无需提交)。然后创建另一个文件,检查状态,我可以看到它没有按预期进行跟踪。
然后,错误地说,我再次运行git init
并获得重新初始化现有的Git存储库消息。
尝试git status
,但显示相同。那真的发生了什么?
以这种方式重新初始化现有的git存储库是有害的还是有帮助的?为什么我们可以在现有存储库中git init
?
答案 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。