我使用'git push'命令将文件夹推送到GitHub。它在我的克隆目录中打开。但是当我尝试在GitHub上访问它时,它会显示一个不同的图标,并且在点击时不会打开。因此,我甚至无法删除它。我该如何解决这个问题?
答案 0 :(得分:0)
您看到的灰色图标表示a submodule:
子模块允许您将Git存储库保存为另一个Git存储库的子目录。这使您可以将另一个存储库克隆到项目中,并使您的提交保持独立。
子模块通常用于库代码。
根据your Bitbucket comment您可能会看到这一点,因为您将另一个存储库克隆到主存储库中。 Git存储库不能任意嵌套;需要额外的工作流程步骤。
有可能convert a submodule to a regular directory,但在你冲下这条路之前,你应该花几分钟时间了解哪些子模块是什么,看看它们是否适合你的用例。使用它们确实有好处(例如,能够在内部和外部存储库上工作,同时仍能够使用上游存储库push
和fetch
。)
值得注意的是,一些开发人员非常不喜欢子模块(尽管在很多情况下,这可能与他们如何工作的误解直接相关)。还有其他工具可以让你做类似的事情,例如git subtree
我认为您的下一步应该是了解您的选项(使用子模块,使用子树,或将内部存储库转换为常规目录)。在做出决定之前了解每个人的权衡非常重要。
答案 1 :(得分:0)
存储库中的一个目录包含一个“.git”文件夹。无论何时在其中运行“git init”命令,都会在目录中创建此文件夹。 Git存储库中的Git存储库会混淆Git并发生这种行为。