Вместо постановки в отдельной ветке, я делаю это в отдельном репозитории GitHub.
Хранение отдельной ветки с отдельными конфигурациями размещения, подготовка файлов CNAME
и DNS и функции c, определяемые этапами, - это хлопоты в одном и том же репо. Раздельные репо - это более простое решение, поскольку оно поддерживает ментальную модель, согласно которой разработка и промежуточная работа - это разные среды.
Таким образом, существует 2 репозитория GitHub: основное и промежуточное репо. Настройки GitHub Pages допускают отдельные настройки DNS. Поскольку у меня есть собственный домен, для основного репо установлено значение www.customDomain.com
, а для промежуточного репо - staging.customDomain.com
.
. Вот мои настройки с использованием имен репо Main
и Staging
. Staging
устанавливается в качестве пульта для Main
, а Staging
является точной копией Main
(кроме конфигов, CNAME
, специфичные для сцены функции c и т. Д. c ...).
GitHub Pages создает сайт, используя ветку master
в Main
. Я использую ветку dev
в Main
для хранения нового кода и функций. Работа по разработке выполняется в функциональных ветвях, которые ветвятся в dev
и объединяются обратно в dev
. Когда я хочу протестировать функцию в Staging
, я go до Staging
и вытягиваю последнюю версию ветви Main:dev
. После того, как я закончу тестирование в Staging
, я потяну Main:dev
в Main:master
.
Вот диаграмма, если это поможет вам понять настройки. Надеюсь, это ответит на ваш вопрос.
Main Staging
| | |
| | |
|\ | |
| \ | |
| \| |
| | |
| | |
| |\ |
| | \ |
| | \ |
| | \ |
| | \ |
| | \ |
| | \|
| | |
| | |
| | /|
| | / |
| | / |
| | / |
| | / |
| | / |
| |/ |
| | Staging:master
| |\
| | \
| | \
| | |
| | |
| | /feature
| | /
| |/
| |
| /dev
| /
|/
|
Main:master