Подтвердить что ты не робот

Git функция создания потока - отделить другую ветвь функции

Я использовал 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.

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

4b9b3361

Ответ 1

Вы можете создать дочернюю ветвь с помощью

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

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

git flow feature finish PROJ-511

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

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

Ответ 2

Как я понял, 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.

Ответ 3

Я не думаю, что есть метод для этого в потоке git, но он довольно прост с помощью только 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

Ответ 4

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

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

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

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

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

git flow config set develop develop