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