Я уже давно пользуюсь git flow
. Мне любопытно узнать о конкретном случае использования.
Для одного из моих проектов у меня есть билет на новую функцию веб-сайта. Этот билет зависит от многих подзадач. Я хотел бы создать функциональную ветку для основного тикета, а затем для каждой подзадачи создать функциональную ветвь от родительской функциональной ветки.
Предположим, у меня есть билет PROJ-500, и я создаю для него функциональную ветку.
git flow feature start PROJ-500
Тогда я хочу , чтобы интегрировать билеты PROJ-501
через PROJ-515
INTO , PROJ-500
прежде чем интегрировать все это в develop
. Есть ли способ сделать что-то вроде
git flow feature start PROJ-511 -b PROJ-500
Затем со временем эти подзадачи завершаются, и когда их функция завершается, ветка объединяется PROJ-500
.
git flow feature finish PROJ-511
Приведенная выше команда объединится PROJ-511
сPROJ-500
И как только все подзадачи будут выполнены, PROJ-500
они будут завершены и объединены в develop
.
Таким образом, новая функция веб-сайта интегрируется в разработку как единое целое, а не по частям.
git flow feature start PROJ-511 PROJ-500
? Ссылка, которую вы разместили в комментарии к ответу DerekS, предполагает, что это должно быть.Ответы:
Вы можете создать ветку подфункции через
Но вы не можете использовать инструмент GitFlow для слияния ветки обратно в основную функциональную ветку, потому что если вы это сделаете
объект будет объединен в
develop
. Подфункции Ergo не поддерживаются , вам нужно сделать это вручную.Альтернативы: это требование не ново. Существует нерешенная проблема, а также проект форка, утверждающий, что поддерживает функции финишной обработки в другие ветви, кроме
develop
. Я также нашел запрос на перенос с реализацией этой функции. Вы можете попробовать эту модификацию и посмотреть, нравится ли она вам.Обновление 2019-12-13: как только что упомянул пользователь Матей Кржиж в своем комментарии, пользователь Тони Чемит написал здесь ответ через несколько месяцев после моего, указав на gitflow-avh как на альтернативу исходному продукту gitflow. Он поддерживает подфункции прямо из коробки с синтаксисом, показанным выше. Прошло несколько лет, и в настоящее время версия AVH является частью обычной установки Git для Windows, я просто проверил это на своем локальном компьютере и протестировал опцию дополнительной функции. Т.е. для пользователей Windows он работает сразу после установки Git.
источник
Как я понял, gitflow совсем заброшен.
gitflow-avh заменяет его и предлагает эту функцию (см. https://github.com/petervanderdoes/gitflow#creating-featurereleasehotfixsupport-branches ).
Я просто пробую, и мне это нравится.
PROJ-511 был объединен в функцию / PROJ-500 .
источник
Как уже упоминалось, мы можем запустить новую функцию, используя любую базовую ветку с
И чтобы завершить работу с подфункцией, мы можем временно изменить конфигурацию потока git, чтобы использовать нашу ветку функции вместо
develop
:Таким образом, git flow запускает все команды и проверки работоспособности. Наконец, чтобы восстановить конфигурацию, мы можем запустить
источник
Обновление (5 ноября 2020 г.): как указано в новом ответе здесь , это возможно с помощью gitflow-avh, который заменил исходный поток git.
===================
Оригинальный ответ:
Я не думаю, что в git flow есть способ для этого, но это довольно просто с помощью git.
источник