git子模块未在子模块中提取文件

git子模块未在子模块中提取文件,git,file,pull,git-submodules,Git,File,Pull,Git Submodules,我认为我已经解决了这个新项目的所有问题,并且认为git子模块是开发和部署我的应用程序的方法 设置我的git repo(Drupal)并用Drupal的7.12标记对其进行初始化。做我自己的分支。然后在sites/all/modules/contrib下添加所需的模块 git子模块add——分支7.xgit://path/to/drupal/module 站点/所有/模块/承包商/模块 然后我想,通过将我的repo推到github,我可以简单地将它拉出来,然后它会将所有子模块拉到部署路径中。但是,

我认为我已经解决了这个新项目的所有问题,并且认为git子模块是开发和部署我的应用程序的方法

设置我的git repo(Drupal)并用Drupal的7.12标记对其进行初始化。做我自己的分支。然后在sites/all/modules/contrib下添加所需的模块 git子模块add——分支7.xgit://path/to/drupal/module 站点/所有/模块/承包商/模块

然后我想,通过将我的repo推到github,我可以简单地将它拉出来,然后它会将所有子模块拉到部署路径中。但是,我的所有模块都不会被拉入,即使我: 每个git pull的git子模块 或 初始化子模块 然后 git子模块更新


事实证明,我错了。我现在需要用另一种方式重做一切吗?如果是,请告诉我如何,如果不是,很好,请让我知道。

您是否进行了Drupal回购?它是否已经在
.gitmodules
中添加了子模块?如果是这样,您只需要克隆它们的分支并执行

git submodule init
git submodule update
您不需要将其自己的子模块重新添加到回购协议中


现在,如果您想添加额外的子模块,您必须执行
git submodule init;每次克隆repo时,git子模块都会更新
。它不会自动获取子模块。

如果子模块未被拉入,请确保已添加

例如:

git子模块添加


我也遇到了同样的问题,在运行上述命令后,它起了作用。

运行“git submodule init”和“git submodule update”为我解决了这个问题。我不知道Git在克隆RPO时不会自动地拉子模块。考虑方便,你可以做一个别名命令:<代码>别名GITUP = 'Git子模块init & git子模块更新'/COD>。请考虑删除关于子模块不值得的评论,或者链接到一两个源。“谢谢你的回答。”丹罗森斯塔克同意,将删除。自我写这篇文章以来,子模块发生了巨大的变化。如果你有烫发,请随意编辑我的答案,我将接受,然后删除此评论。删除“从我读到的所有关于子模块的内容中,它们不值得。它们会导致太多问题。”