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

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

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

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

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

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

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


person Kjuly    schedule 05.08.2012    source источник
comment
Я только что столкнулся с той же проблемой с подмодулем в моей ветке gh-pages. Я тоже озадачен. Github Pages, по-видимому, неправильно обрабатывает подмодули. Это отстой.   -  person Ray Nicholus    schedule 03.12.2012
comment
@RayNicholus да, надеюсь, кто-нибудь предложит обходной путь ..   -  person Kjuly    schedule 03.12.2012
comment
Привет @RayNicholus, посмотри на мой ответ. Теперь это работает! ;)   -  person Kjuly    schedule 03.12.2012


Ответы (3)


У меня есть ответ от 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://.

person Kjuly    schedule 03.12.2012
comment
Ницца! Спасибо за внимание. - person Ray Nicholus; 03.12.2012

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

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

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

person ashes999    schedule 07.04.2016

Я создавал статический веб-сайт с помощью Hugo, и мне пришлось отформатировать файл .gitmodules следующим образом:

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