无法让子模块在 gitlab 中工作

Can’t get submodules to work in gitlab

我的电脑中有一个项目,结构如下:

.
├── bin
├── code
│ └── src
├── data
├── doc
├── experiments
└── reports
└── summary

code/src 和 /reports/summary 是在 .gitmodules

中定义的子模块
[submodule "code/src"]
path = code/src
url = ./code/src/

[submodule "reports/summary"]
path = reports/summary
url = /home/zunbeltz/Proyectos/reports/base/

我在工作场所的 gitlab 中创建了一个项目(版本 7.9.4)。添加新原点后 git push -u origin master 子模块的链接已断开,错误代码为 500。

我也在 gitlab.com(版本 7.14)中尝试过,但出现 404 错误

有人知道这里发生了什么吗?

注意:我在 gitlab 论坛上发了 post 这条消息,但没有任何答案。

子模块的想法是使用您可以访问的 url 来引用嵌套的 git 存储库。

./code/src//home/zunbeltz/Proyectos/reports/base/ 是基于文件的 url,您可以在本地访问。
但是一旦推到 Gitlab 上,说 Gitlab 不知道如何 interpreted/access 那些 urls.
因此链接断开。

作为mentioned in the discussion:

在 Gitlab 上,你必须有 3 个存储库:

  • 一个用于父代码库
  • 每个子模块一个

在 GitLab 的父仓库中,您会看到与本地父仓库相同的结构 除了 GitLab would use a special icon to represent that folder.
那将代表回购的 gitlink, a special entry in the index

Ivan mentions the now (2018, three years later) official documentation "Using Git submodules with GitLab CI".