Как правильно добавить подмодуль в ветку gh-pages и построить статические страницы?

мне нужно поддерживать несколько страниц проекта, и все они используют одну и ту же тему (я упаковал ее в отдельное РЕПО, которое называется KYProjectPageTheme).

просто скопировать KYProjectPageTheme'всю папку s к gh-pages корневой каталог ветви и затем нажмите его на Github работает очень хорошо. Я получу уведомление, когда статические страницы будут успешно построены.

тем не менее, я хочу добавить KYProjectPageTheme Как подмодуль под gh-pages филиала. Это хорошо работает в моей локальной машине. Но когда я подтолкнул его к Github, я не удалось получить уведомление больше! И статические страницы все еще находятся в предыдущем состоянии, т. е. модификация после добавления подмодуля не повлияла.

Я думаю, что статический генератор страниц Github не будет работать, когда есть подмодуль в gh-pages филиала. Но на самом деле мне не нужен генератор для генерации статических страниц, мне просто нужно изменить страницы в HTML и нажать на gh-pages. Почему не мой index.html обновление?

есть идеи? Есть ли какие-то обходные пути решить эту проблему?

спасибо заранее!

3 ответов


у меня есть ответ от Github (спасибо @Robert).

использование подмодулей со страницы

если ваш репозиторий содержит подмодули, они будут автоматически втянуты при построении страницы.

убедитесь, что вы используете https:// URL-адрес только для чтения для ваших подмодулей, включая вложенные подмодули. Вы можете внести это изменение в свой .

подмодули также должны обслуживаться из public репозитории, так как сервер страниц не может получить доступ к частным репозиториям.

Итак, мне нужно использовать

https://github.com/Kjuly/KYProjectPageTheme.git (new page recommends to use "https://")
git://github.com/Kjuly/KYProjectPageTheme.git (old page recommends to use "git://")

вместо

git@github.com:Kjuly/KYProjectPageTheme.git

и теперь он отлично работает!!


Примечание, старые страницы, сказал:

HTTPS и SSH URL-адреса вызовут сбой сборки с ошибкой "ошибка выборки подмодуля".

не уверен, работает ли HTTPS один или нет, но если https:// не работает для вас, просто продолжайте использовать git:// вместо.


Я часто сталкиваюсь с этим, когда использую SSH для моего основного репозитория и HTTPS для моего суб-репозитория (Prototyping framework).

Я никогда не отслеживал, почему это происходит. Однажды я даже связался с персоналом GitHub, и им пришлось что-то исправить в моем хранилище.

оказывается, есть более простой способ: использовать HTTPS для родительского репозитория и все subrepositories. это, кажется, работает без каких-либо иных корректив.


Я создавал статический веб-сайт с Hugo и должен был отформатировать мой .gitmodules файл вот так:

[submodule "themes/code-editor"]
    path = themes/code-editor
    url = https://github.com/aubm/hugo-code-editor-theme.git