2015-10-13 84 views
-2

我使用'git push'命令将文件夹推送到GitHub。它在我的克隆目录中打开。但是当我尝试在GitHub上访问它时,它会显示一个不同的图标,并且不会在单击时打开。因此,我甚至无法删除它。我该如何解决这个问题?我上传了GitHub上的一个文件夹。它在Git中打开,但不在GitHub上

+0

git只关心文件(不是文件夹),你是什么意思“推送文件夹”? – topheman

+0

什么是URL? – melpomene

+1

@topheman,此外'push'在*提交*上运行,而不是文件或文件夹。 – Chris

回答

0

他们灰色图标,你看到指示a submodule

子模块让你保持一个Git仓库的另外一个Git仓库的子目录。这可以让您将另一个存储库克隆到您的项目中,并保持您的提交单独。

子模块通常用于库代码。

根据your Bitbucket comment您可能会看到这个,因为您将另一个存储库克隆到主存储库中。 Git存储库不能任意嵌套;还需要额外的工作流程步骤。

有可能convert a submodule to a regular directory,但在你冲下那条路径之前,你应该花几分钟时间来了解子模块是什么,看看它们是否适合你的用例。使用它们具有真正的好处(例如,能够在内部和外部存储库上工作,同时仍能够对上游存储库使用pushfetch)。

值得注意的是,一些开发人员强烈不喜欢子模块(尽管在很多情况下,这可能直接关系到他们如何工作的误解)。还有其他的工具可以让你做类似的事情,例如git subtree

我认为您的下一步应该是了解您的选择(使用子模块,使用子树或将内部存储库转换为常规目录)。在做出决定之前了解每个人的权衡很重要。

0

存储库中的一个目录包含一个'.git'文件夹。只要您在其中运行'git init'命令,该文件夹就会在目录中创建。 Git存储库中的Git存储库会混淆Git,并发生这种行为。