В обычно называемых исправлениях модели Git-flow идут в своей конкретной hotfix-*
ветке, а небольшие исправления интеграции прямо перед выпуском выпускаются в release-*
ветке. Общие исправления из предыдущей версии, похоже, не имеют места.
Где они должны появиться? Должны ли они быть в своей собственной bug-*
ветви разветвлений прочь develop
(так же , как feature
ветвь)?
feature-*
филиалами? Может ли исправление ошибочного поведения рассматриваться как особенность?master
,develop
,release-*
илиhotfix-*
это особенность ветви, так что вы можете использовать любой префикс , как и использовать другой префикс для ошибок. Кроме того, в чем разница между ошибочным поведением, которое работает как указано, и ошибочным поведением, которое отличается от спецификации? В обоих случаях это ошибочное поведение, но только последний является ошибкой.Ответы:
Краткий ответ: Да, ветки для исправлений ошибок, которые входят в запланированный выпуск, должны быть в функциональных ветках. То, как вы называете ветви функций или эти ветви для исправления ошибок, зависит от вас и стандартов вашей команды, но к ним следует относиться одинаково, если вы следуете Gitflow.
Комментарий Барта ван Ингена Шенау поднимает хороший вопрос.
Gitflow имеет пять филиалов:
master
,develop
, исправление ветвь (с префиксомhotfix-
), ветвь высвобождения (с префиксомrelease-
, и особенность ветви.master
Иdevelop
ветвь затянувшиеся ветвей , и вы не совершали непосредственно в них В.release-
Ветвях сделаны , чтобы нарисовать линию для определенного выпуска, а затем поддерживают исправления ошибок между идентификацией следующей версии и выпуском.hotfix-
Ветви предназначены специально для критических выпусков вне цикла производства.feature-
Ветки предназначены для разработки отдельных функций для некоторых будущих выпусков.Исходя из условий , где реципиентов используются и в стороне от отдельного разработчика , совершающего в эту ветку, ничто не должно быть совершено непосредственно в
master
,develop
или ветви выпуска. Это гарантирует, что каждое изменение проверяется кодом, а также обеспечивает надлежащее покрытие тестами и прохождение тестов в среде CI до того, как изменения вступят в силу. Я был бы против любых коммитов непосредственно в одну из этих ветвей, хотя кажется, что Gitflow сам по себе не ' У вас не возникнет проблем с фиксацией исправлений или изменений до релиза непосредственно в ветке релиза, а затем в ветке разработки, а затем в ветвях функций.В вашем конкретном случае
release-
филиал не подходит. Программное обеспечение уже выпущено и находится вmaster
. После того, как релиз объединен с главным и помечен там, ветвь релиза для этого конкретного релиза устарела и больше не должна существовать. Если вы активны в очистке своих веток (что я думаю, что все должны быть), то это даже не вариант.Если ваше исправление не критично, ветка исправлений тоже не подходит. Цель ветви исправлений - позволить кому-то очень быстро вносить критические изменения в производственную среду, не вмешиваясь в текущую разработку. Их использование должно быть скорее исключением, чем нормой для команды разработчиков. Как правило, критические исправления должны быть исключительным случаем.
Единственное, что осталось, это ветвь функций. Обратите внимание, что в разделе страницы, связанном в вопросе о ветвях функций, даже говорится, что ветви функций «иногда называют ветвями тем». Если ваше изменение нацелено на любой предстоящий выпуск и не соответствует критериям для исправления, оно должно быть в одной из этих веток.
источник
develop
не было обнаружено критической проблемы , а не найдено между временем его создания и созданием ветки релиза, и / или тем, что ветка релиза существует в течение длительного времени. Просто я считаю, что единственный выбор - выбор вишни (я бы предложил исправить и вытянуть запрос в ветку релиза, объединиться с веткой релиза и выбрать вишню в разработке через запрос на извлечение).Если это один коммит, просто сделайте хорошо идентифицированный коммит и поместите его поверх ветки разработки, иначе создайте ветку компонентов.
Также есть комментарий от автора git-flow, в котором говорится, что именно вы спрашиваете: пропущены ветки исправлений # 24
источник