Как мне выполнить / настроить GitFlow в репозиториях AzureDevOps с политиками ветки PR на master и development? - PullRequest
0 голосов
/ 13 мая 2019

Как я могу достичь Git Flow в своих репозиториях Azure, если у меня есть ветки политик для запросов на извлечение в основной и разрабатываемой ветках?Я бы хотел, чтобы это сработало, но я не знаю лучших практик.В настоящее время у меня есть gitflow etup в репозитории Azure Git, но у меня есть политики веток PR на master.Как я могу закончить релизы или ветки исправлений, если push to master не удастся, потому что PR не создан.Аналогично, если у меня есть политика ветки PR в репозитории AzureDevOps для моей ветки разработки, я не могу "завершить" свою функцию с помощью "функции git flow ... finish", потому что ветка push to development потерпит неудачу

пробовал это без политик ветки PR для разработки (для доработки функций) и master (для слияния релизов и / или слияния исправлений)

Я пытался обратиться к руководству по стратегии ветвления для AzureDevOps, но оно не упоминает GitFlowhttps://docs.microsoft.com/en-us/azure/devops/repos/git/git-branching-guidance?view=azure-devops#manage-releases

Руководство в большей степени направлено на создание ветвей компонентов из "master" для новых функций и слияние с PR, а затем для релизов предлагает ваши ветки create release и hotfix от master, которые никогда не объединяются назад.

Ожидаемое: иметь возможность завершать функции и объединяться для разработки через PR, иметь возможность завершать релизы и исправления, а также сливаться с мастером и разрабатывать через PR.

Фактически: завершениеособенностьсбой выпуска или исправления при попытке слияния с любыми ветвями, на которых есть политика веток PR (master, development)

1 Ответ

0 голосов
/ 04 июня 2019

На нашей встрече по стандартам в моей организации ваш вопрос возник на днях. После нескольких часов изучения я лучше всего скажу, что GitFlow не будет совместим со всеми дополнениями, которые Azure DevOps предоставляет с git-репозиториями. В конце концов, GitFlow - это просто набор стандартов и рабочих процессов для управления ветвями в репозитории git. Azure DevOps - это специфическая реализация git-репозиториев с кучей дополнений, расположенных сверху. Например, если вы применили политики веток для разработки, то рабочие процессы GitFlow Feature не позволят вам завершить ветку функций вне разработки, потому что фиксация невозможна, как вы уже обсуждали в своем вопросе. Кроме того, вы обнаружите, что конвейеры сборки и выпуска подключены для просмотра определенных веток, которые не будут хорошо работать с рабочим процессом выпуска GitFlow.

Вам нужно будет сделать то же самое, что я делаю сейчас - решить, какие стандарты, процессы и рабочие процессы лучше всего подходят для вашей команды, учитывая технологии, на которые вы полагаетесь (например, Azure DevOps). Чтобы использовать GitFlow, вам, возможно, придется создать несколько классных стандартов для вашей группы. Например, вы можете создать ветвь Staging , из которой разветвлены все функции. Затем вы переходите от Staging к Develop по мере необходимости с Pull Requests. Однако в определенный момент, я думаю, вы обнаружите, что то, что вам нужно сделать, чтобы заставить GitFlow работать с дополнительными компонентами в DevOps Azure, вызовет больше головной боли и технической задолженности, чем просто создание ваших собственных стандартов и процессов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...