运行两次git init会初始化一个仓库还是重新初始化一个已有的仓库?

z5btuh9x  于 9个月前  发布在  Git
关注(0)|答案(3)|浏览(151)

当您再次发出git init时,现有的git仓库会发生什么?
我用git init创建了一个仓库。创建了一个文件,添加,提交。检查状态(没有提交)。然后创建了另一个文件,检查状态,我可以看到它如预期的那样未被跟踪。
然后,我又错误地运行了git init,得到了 * Reinitialize existing Git repository message*。
尝试了git status,但它显示相同。那么到底发生了什么?
用这种方式重新初始化一个现有的git仓库是有害的还是有益的?为什么我们可以在一个现有的仓库中使用git init

ttp71kqs

ttp71kqs1#

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

xytpbqjk

xytpbqjk2#

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

r8xiu3jd

r8xiu3jd3#

从v1.7.5(b57fb80a7)开始,现有repo中的git init也允许移动.git目录:
重新运行'git init'的主要原因是获取新添加的模板(或者如果给定了--separate-git-dir,则将仓库移动到另一个位置)。
'Picking up newly-added templates'意味着任何尚未从template目录复制的模板现在将被复制到现有的git目录中。
“Moving the repository to another place”意味着,如果--separate-git-dir指向其他地方,现有的.git目录将被移动到那里,并被一个链接替换。

相关问题