Универсального правила нет: это определяется процессом команды и настройками CI/CD. На staging можно выкладывать выбранную версию dev или релизной ветки. Главное — знать точный commit и артефакт, который проверяется. Название master само по себе не означает «релизная ветка», а staging является окружением, не веткой Git.
После слияния фича-ветки в dev что выкладывают на staging: dev или отдельную релизную ветку?
Почему staging не обязан соответствовать конкретной ветке и как различаются непрерывная проверка dev, стабилизация релиза и продвижение неизменяемого артефакта.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Из названий веток нельзя определить процесс выкладки. Вопрос не содержит конфигурации CI/CD или правил команды, поэтому нельзя утверждать, что конкретная компания всегда разворачивает на staging dev, master или релизную ветку. Сначала разделите понятия: ветка — изменяемая ссылка в Git, staging — окружение, а реально запускается определенная версия приложения.
Возможны разные схемы. При непрерывной интеграционной проверке staging обновляется выбранными сборками dev. Это помогает быстро проверять совместимость изменений, но окружение может часто меняться. При подготовке стабильного релиза команда может выделить релизную ветку и выкладывать ее сборки, ограничивая состав изменений. Есть и процессы без отдельной долгоживущей dev-ветки.
Название master или main не делает ветку релизной автоматически. Ее назначение определяется договоренностями. Для ответа полезнее объяснить, какой commit собран, как маркируется артефакт, кто разрешает выкладку и какие проверки служат условием продвижения дальше.
Если на staging проверен конкретный образ, продвижение того же неизменяемого артефакта уменьшает риск различий из-за повторной сборки. При этом конфигурация окружений может отличаться, и эти отличия тоже нужно контролировать.
На интервью о собственном процессе рассказывайте только известные вам факты. Можно уточнить: «Вы спрашиваете о принятой у нас схеме или о возможных вариантах?» Хороший ответ связывает ветвление, сборку, тестирование и выпуск, а не объявляет одно имя ветки обязательным стандартом.