Как добавить подмодуль в ветки gh-pages и правильно построить статические страницы?
У меня есть несколько страниц проекта для поддержки, и все они используют одну и ту же тему (я упаковал ее в отдельное репо, которое называлось KYProjectPageTheme
).
Просто скопируйте всю папку KYProjectPageTheme
в директорию gh-pages
branch root, а затем нажмите ее в Github, очень хорошо. Я получаю уведомление, когда статические страницы будут успешными.
Однако я хочу добавить KYProjectPageTheme
в качестве подмодуля в ветке gh-pages
. Это хорошо работает на моей локальной машине. Но когда я подтолкнул его к Гитубу, я больше не мог получать уведомление! И статические страницы все еще находятся в предыдущем состоянии, т.е. Изменение после того, как я добавил, что подмодуль не повлиял.
Я думаю, что статический генератор страниц Github не будет работать, если есть подмодуль в ветке gh-pages
. Но на самом деле, мне не нужен генератор для создания статических страниц, мне просто нужно изменить страницы в HTML и нажать на gh-pages
. Почему не обновлен мой index.html
?
Любая идея? Есть ли способы решения этой проблемы?
Спасибо заранее!
Ответы
Ответ 1
У меня есть ответ от Github (спасибо @Robert).
Если ваш репозиторий содержит подмодули, они автоматически будут втянуты, когда страница будет построена.
Убедитесь, что для ваших подмодулей используется URL https://
только для чтения, включая вложенные подмодули. Вы можете внести это изменение в свой .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://")
вместо
[email protected]:Kjuly/KYProjectPageTheme.git
И теперь он отлично работает!
Примечание. Старая страница:
URL-адреса HTTPS и SSH приведут к сбою сборки с ошибкой "ошибка с подменю".
Не уверен, работает ли HTTPS сейчас, но если https://
не работает для вас, просто используйте git://
вместо этого.
Ответ 2
Я часто сталкиваюсь с этим, когда использую SSH для своего основного репозитория и HTTPS для моего субрепозитория (прототипирование).
Я никогда не выяснял, почему это происходит. Я даже связался с сотрудниками GitHub один раз, и им нужно было что-то исправить в моем репозитории.
Оказывается, проще: Использовать HTTPS для родительского репозитория и всех подпоследовательностей. Кажется, что это работает без каких-либо других настроек.
Ответ 3
Я создавал статический сайт с Hugo, и мне пришлось форматировать мой файл .gitmodules
следующим образом:
[submodule "themes/code-editor"]
path = themes/code-editor
url = https://github.com/aubm/hugo-code-editor-theme.git