我在特定项目的 gh-pages 分支中有两个子模块。每次我推动这个项目时,我都会在邮箱中收到这条熟悉的信息:
页面构建失败,出现以下错误:
无法克隆为
./updates/4.4.luna
注册的子模块。 确保它使用https://并且它是一个公共回购。更多 信息,见 https://help.github.com/articles/page-build-failed-invalid-submodule
这仅指其中一个子模块,即使两者都以相同的方式配置。它们都是公共的,并在本地存储库中 https:// 地址注册:
$ git submodule foreach -q git config remote.origin.url
https://github.com/ldesousa/dsl3s.update.4.3.kepler.git
https://github.com/ldesousa/dsl3s.update.4.4.luna.git
我经历了安装Jekyll以在本地运行网站的麻烦(男孩,GitHub页面上的说明很差)。当地的一切都运行得很好; Jeckyll报告没有任何错误。
我还能做些什么来解决这个问题?或者至少要理解为什么存储库无法在GitHub上构建?
答案 0 :(得分:1)
好的,经过一番挖掘后,我发现主存储库中的元数据与子模块的元数据不一致:
$ cat .gitmodules
[submodule "updates/4.3.kepler"]
path = updates/4.3.kepler
url = https://github.com/ldesousa/dsl3s.update.4.3.kepler.git
[submodule "updates/4.4.luna"]
path = updates/4.4.luna
url = git@github.com:ldesousa/dsl3s.update.4.4.luna.git
所以我必须更正 http:// 版本的最后一个网址,然后运行:
git submodule sync