Здесь есть хорошее объяснение используемых нами веток:
jomaxro:
Main:
Когда в Discourse добавляется новый коммит, он попадает в ветку main. Main — это абсолютно последняя (самая актуальная) ветка Discourse, и мы не рекомендуем никому запускать свой сайт, отслеживая ветку main.
Tests-passed:
Когда новый коммит отправляется в ветку main, наш сервер сборки автоматически запускает все тесты для последнего кода. Как только все тесты проходят, коммит добавляется в нашу ветку tests-passed. Это ветка, которую по умолчанию используют все сайты Discourse.
Beta:
Каждые несколько недель мы переносим текущие коммиты из tests-passed в beta. Мы используем beta как «контрольную точку» для выпуска набора коммитов, которые хотим, чтобы больше сайтов запустили и протестировали. Мы также выпускаем beta, если у нас есть важное исправление безопасности, которое нужно предоставить сайтам. При выпуске beta все сайты, работающие на tests-passed или beta, получают электронное письмо «Доступно новое обновление». Сайты, работающие на tests-passed, обновятся до текущих коммитов tests-passed (включая любые новые коммиты, отправленные после beta), тогда как те, что на beta, — нет.
Stable:
Каждые 4–6 месяцев мы выпускаем новую сборку stable. Примерно за 2 недели до выпуска stable мы выпускаем нашу последнюю beta. Затем мы внимательно следим за нашими логами, чтобы попытаться выявить любые оставшиеся ошибки, и избегаем добавления новых функций или рискованных изменений. Как только мы удовлетворены состоянием текущей beta, мы выпускаем stable.
Таким образом, Discourse находится в состоянии перманентной беты, что означает, что мы постоянно работаем над новыми функциями и улучшениями. В нашем случае beta не означает нестабильность: мы хостим сайты с миллионами ежемесячных просмотров страниц на наших версиях tests-passed и beta.