Поток ГИТ - создать ответвление еще одной особенностью филиал
я использую 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 слил 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