#github #github-pages
#github #github-страницы
Вопрос:
Я создал простой веб-сайт для страниц GitHub. Источник сайта находится в ветке «master», а созданный веб-сайт (который я хочу опубликовать) находится в ветке «gh-pages».
Я ожидал, что смогу изменить источник сайта в настройках. Однако параметр не отображается серым цветом? Я не могу ее изменить (см. Скриншот ниже). Что я делаю не так? Как мне переключиться на ветку «gh-pages»?
Комментарии:
1. Вы нашли какое-либо решение этой проблемы?
2. Текущий способ слишком ограничен. Например, я только что изменил свою основную ветку с
master
наv1
, но документ может быть сгенерирован только изmaster
ветки, даже если ветка не существует. Я бы хотел, чтобы это позволило создать документ сайта для каждой ветки. Это было бы здорово для документирования версий и возможности предварительного просмотра новых выпусков, которых еще нет в основной ветке.
Ответ №1:
Личные или организационные сайты создаются из master
. gh-pages
ветка используется для создания сайтов для проектов.
Насколько я вижу, вы используете https://user-name.github.io / url, это личный адрес, поэтому master
по умолчанию используется branch.
Смотрите страницу документации
Если ваш сайт является страницей пользователя или организации, у которой есть репозиторий с именем
<username>.github.io
или<orgname>.github.io
, вы не можете публиковать исходные файлы вашего сайта из разных мест. Страницы пользователей и организаций с таким именем репозитория публикуются только из главной ветки.
Итак, ответ отрицательный, вы не можете его изменить. Вам придется настроить свой рабочий процесс и продолжить разработку в другой ветке (назовем ее development
так) и объединить master
, когда вы будете готовы к публикации.
UPD:На дворе 2020 год, поэтому с 31 июля страницы GitHub позволяют настроить любую ветку на роль старой master
Комментарии:
1. Спасибо @Anton за подробности. Я надеялся, что смогу иметь исходный код сайта под master и сгенерированный сайт под gh-pages. Похоже, я неправильно понял, как это работает.
2. кто-нибудь нашел способ обойти это?
3. что делать, если я хочу выполнить развертывание из корневой папки / docs? где статические файлы создаются для vue.js проект
4. Здесь, начиная с 2020 года, моя проблема заключалась в том, что я создал репозиторий с таким именем «<имя пользователя>.github.io «, а настройки github заставляли меня оставаться только на главном сервере. Я пошел и изменил имя своего репозитория на то, чего не было «github.io » в конце концов, и тогда я смог переключиться. Единственное, что теперь, это то, что содержимое переместилось на https://<имя пользователя>.github.io /<новое имя для репозитория>/ .
Ответ №2:
FWIW, это настройка, которую я использовал для публикации личной страницы (т. Е. https://user-name.github.io
) С использованием Next.js и gh-страницы:
- Создайте другую ветку по умолчанию в вашем репозитории для работы (например
develop
) - Создайте статический экспорт вашего сайта:
next build amp;amp; next export
- Поместите
.nojekyll
файл маркера в каталог экспорта:touch out/.nojekyll
- Загрузите статический экспорт в главную ветку:
gh-pages -t -b master -d out
Вы можете объединить эти команды, package.json
чтобы получить удобную yarn deploy
команду:
scripts: {
...
"build": "next build",
"export": "yarn run build amp;amp; next export",
"deploy": "yarn export amp;amp; touch out/.nojekyll amp;amp; gh-pages -t -b master -d out"
...
Ответ №3:
Хорошо, поэтому, если вы используете angular-cli-ghpages
его, он по умолчанию создаст новую ветку gh-pages
и опубликует ее.
Теперь для начала, как и я, если вы используете https://user-name.github.io / и вы хотите, чтобы ваше приложение было опубликовано из главной ветки вашего user-name.github.io
приложения, вы можете выполнить следующие действия.
-
Создайте готовую к производству сборку, используя
ng build --prod --base-href "/user-name.github.io/"
-
Развертывание на главном
angular-cli-ghpages
сервере с использованиемangular-cli-ghpages --branch=master
Надеюсь, это поможет.