44

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

设置我的 git repo (Drupal) 并使用 Drupal 的 7.12 标签对其进行初始化。做了我自己的分支。然后使用 git submodule add --branch 7.x git://path/to/drupal/module sites/all/modules/contrib/module 在 sites/all/modules/contrib 下添加所需的模块

然后我想,通过将我的 repo 推送到 github,我可以简单地拉它,然后它将所有子模块拉到部署路径中。但是,即使我这样做,我的所有模块都不会被拉出: git submodule foreach git pull 或 git submodule init 后跟 git submodule update

原来,我错了。我现在需要以另一种方式重做所有事情吗?如果是,请告诉我如何,如果不是,很好,请告诉我。

4

2 回答 2

92

你分叉了 Drupal 存储库?它是否已经添加了子模块.gitmodules?如果是这样,您只需要克隆他们的分支并执行

git submodule init
git submodule update

您不需要将自己的子模块重新添加到 repo 中。

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

于 2012-04-07T11:29:29.197 回答
0

如果没有拉出子模块,请确保您已添加。

例如:

git 子模块添加https://github.com/chaconinc/DbConnector

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

于 2021-02-26T14:32:55.853 回答