git里面的git:断开内部git,保留文件

时间:2014-02-24 10:38:27

标签: git version-control subrepos

摘要

Git里面的Git。删除了内部.git,保留了文件。推。克隆。文件夹存在,但是空的。

我正在尝试做什么

所以我正在尝试将现有的repo上传到我自己的git服务器。回购里面有一些回购(它不是原始回购的一部分)。我不需要连接它们,最重要的是稳定性 - 克隆必须生成PHP服务器文件的工作副本。

我怎么试过

所以我从内部存储库中删除.git文件夹,并将主要文件夹推入空的git服务器。然后我在新的本地目录中克隆新创建的远程仓库 - 以前拥有.git的文件夹全部为空(文件夹本身确实存在)。我也安装了GitLab,文件夹的显示方式与普通文件夹不同,没有找到额外的信息(通知文件夹“flashcard”):

enter image description here

问题

还有其他方法可以从文件夹中删除git功能吗?什么使文件夹不仅仅是普通文件?我完全没有想法。

其他信息

.gitignore.git/ifno/exclude不会触及这些目录。

2 个答案:

答案 0 :(得分:0)

git存储库包含有关.git文件夹中文件的所有信息,因此当您删除它时,将删除有关内部存储库文件的所有信息。文件本身没有改变,但外部回购不知道它们,因为它从来没有。知道他们的是内部回购,而现在已经不存在了。您需要git addgit commit他们。

答案 1 :(得分:0)

最后找到了answer

git rm --cached path/to/submodule(最后没有/*

我自己还没有将这些回购添加为子模块,但显然它们已经以某种方式被缓存了。

清除缓存后,你仍然需要将文件添加到外部仓库,正如彼得所建议的那样。