如何将子模块添加到gh-pages分支并正确构建静态页面?

Kju*_*uly 12 git git-submodules jekyll github-api github-pages

我有几个要维护的项目页面,并且它们都使用相同的主题(我将它打包成一个单独的repo,它被调用KYProjectPageTheme).

只需将KYProjectPageTheme整个文件夹复制到gh-pages分支的根目录,然后将其推送到Github即可.当静态页面成功构建时,我会收到通知.

但是,我想KYProjectPageThemegh-pages分支下添加子模块.这在我的本地机器上运行良好.但当我把它推到Github时,我再也收不到通知了!并且静态页面仍处于先前状态,即在我添加子模块后修改没有影响.

我猜想当gh-pages分支中有子模块时,Github的静态页面生成器将无法工作.但实际上,我不需要生成器来生成静态页面,我只需要修改HTML中的页面并将其推送到gh-pages.为什么不index.html更新?

任何的想法?是否有一些解决此问题的解决方法?

提前致谢!

Kju*_*uly 21

我得到了Github的答案(感谢@Robert).

使用子页面的子模块

如果您的存储库包含子模块,则在构建页面时它们将自动被拉入.

确保使用https://子模块的只读URL,包括嵌套的子模块.您可以在.gitmodules文件中进行此更改.

子模块也必须从公共存储库提供,因为Pages服务器无法访问私有存储库.

所以,我需要使用

https://github.com/Kjuly/KYProjectPageTheme.git (new page recommends to use "https://")
git://github.com/Kjuly/KYProjectPageTheme.git (old page recommends to use "git://")
Run Code Online (Sandbox Code Playgroud)

代替

git@github.com:Kjuly/KYProjectPageTheme.git
Run Code Online (Sandbox Code Playgroud)

它现在完美!


注意,旧页面说:

HTTPS和SSH URL将导致构建失败并显示"子模块提取失败"错误.

不确定HTTPS现在是否有效,但如果https://不适合你,请继续使用git://.