В основном то же самое, да - я бы сказал, что единственное существенное различие заключается в использовании тегов вместо ветвей для развертывания.

аюсь выбрать лучшую стратегию ветвления для проекта веб-приложения. Вот то, что я придумал до сих пор, и я был бы очень признателен за любые комментарии и опыт.

На мой взгляд, есть две основные стратегии ветвления: «ветвление по релизу» и «ветвление по функции».

"Ветка по выпуску": Развитие происходит на багажнике. Когда время для релиза близко, для этого выпуска создается ветка. Затем эта ветвь стабилизируется / тестируется и, наконец, делается релиз. После выпуска ветвь сливается обратно в ствол, при этом ветвь релиза остается активной для исправления ошибок. Применяется ли исправление ошибки, затем оно сливается в ствол (если разработка в стволе не затмила ошибку другими способами). Новые функции добавляются в ствол и не влияют на ветку релиза. Когда приближается новое время выпуска, создается новая ветка выпуска.

"Ветвь по признаку": Транк всегда является «производственным» транком (код, который является живым). Исправления исправляются непосредственно в ствол. Функции для следующего выпуска разрабатываются в ветвях функций. Исправления время от времени объединяются в ветви функций. Когда приходит время выпуска, ветви функций объединяются в ствол, и цикл жизни продолжается.

Теперь, на мой взгляд, большое практическое различие между этими двумя стратегиями заключается в том, что «к выпуску» позволяет создавать различные производственные версии вашего программного обеспечения (когда клиент А имеет версию 1 и клиент Б версии 1.5, клиент является платящим клиентом в этом кейс). В отличие от этого, используя стратегию «По функциям», вы можете поддерживать только текущую производственную версию (все клиенты используют последнюю версию).

Так как в типичномвеб приложение все клиенты используют одну и ту же «последнюю» версию (поскольку все они обращаются к одному и тому же серверу), я бы предположил, что наиболее часто используется подход «по функциям». Это устраняет необходимость слияния «по всей иерархии», например, когда необходимо применить исправление ко всем 3 версиям выпуска.

Таким образом, мой текущий статус таков, что я должен идти с «ветвью по функции». Если это имеет значение, моя команда не очень опытна.

Ответы на вопрос(0)

Ваш ответ на вопрос