git子模块不会在子模块中拉取文件

时间:2012-04-07 11:22:33

标签: git file pull git-submodules

我认为我已经完成了这个新项目,并认为git子模块是开发和部署我的应用程序的方法。

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

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

原来,我错了。我现在需要以另一种方式重做所有内容吗?如果是,请告诉我,如果不是,那么请告诉我。

2 个答案:

答案 0 :(得分:60)

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

git submodule init
git submodule update

您无需将自己的子模块重新添加到仓库中。

现在,如果要添加其他子模块,则每次克隆存储库时都必须执行git submodule init; git submodule update。它不会自动获取子模块。

答案 1 :(得分:0)

如果未拉取子模块,请确保您已添加。

例如:

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

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