Поток ГИТ - создать ответвление еще одной особенностью филиал


я использую 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 63

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 слил feature / 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