Git flow-создать ветвь функции от другой ветви функции

я использую git flow какое-то время. Мне любопытно узнать о конкретном случае использования.

для одного из моих проектов у меня есть билет для новой функции сайта. Этот билет зависит от многих подзадач. Я хотел бы создать ветвь функции для основного билета, а затем для каждой подзадачи создать ветвь функции из родительской ветви функции.

предположим, у меня есть билет PROJ-500, и я создаю ветку функций для это

git flow feature start PROJ-500

тогда я хочу интегрировать билеты PROJ-501 через PROJ-515 на 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.

таким образом, новая функция сайта интегрироваться развиваться как единое целое, а не по частям.

4 ответов


вы можете создать дочернюю ветвь функции через

git flow feature start PROJ-511 feature/PROJ-500

но вы не можете использовать инструмент GitFlow, чтобы объединить ветвь обратно в основную ветвь функции, потому что если вы это сделаете

git flow feature finish PROJ-511

функция будет объединена в develop. Ergo дополнительные функции не поддерживаются, вам нужно сделать это вручную.

варианты: требование не является новым,. Есть открыть вопрос а также вилка проект претендуя на поддержку отделочных функций в ветвях, отличных от develop. Я также нашел pull-запрос с реализацией этой функции. Возможно, вы захотите попробовать эту модификацию и посмотреть, довольны ли вы ею.


Как я понял, gitflow довольно заброшенный.

gitflow-avh заменяет его и предлагает эту функцию (см. https://github.com/petervanderdoes/gitflow#creating-featurereleasehotfixsupport-branches).

Я просто попробую, и это хорошо работает для меня.

git flow feature start PROJ-511 feature/PROJ-500
git flow feature finish PROJ-511

PROJ-511 слил характеристика / PROJ-500.


Я не думаю, что есть метод для этого в git flow, но он довольно прост только с git.

git checkout PROJ-500
git checkout -b PROJ-511
...do your PROJ-511 work...
git checkout PROJ-500
git merge PROJ-511
git branch -d PROJ-511

как уже упоминалось, мы можем начать новую функцию, используя любую базовую ветвь с

git flow feature start PROJ-511 feature/PROJ-500

и для завершения функции sub мы можем временно изменить конфигурацию потока git, чтобы использовать нашу ветвь функции вместо develop:

git flow config set develop feature/PROJ-500 && git flow feature finish PROJ-511

таким образом, git flow выполняет все команды и проверки здравомыслия. Наконец, для восстановления конфигурации, мы можем запустить

git flow config set develop develop