Поделиться через


Требовать создание ветвей в папках

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Если у вас много людей, взаимодействующих в репозитории, количество и имена ветвей могут быстро выйти из контроля. Иерархические папки ветви — эффективный способ укрощать хаос. Azure DevOps Services, TFS и Visual Studio обрабатываются / как разделитель папок и автоматически свернут папки по умолчанию. Таким образом, вам не нужно проходить через каждую ветвь, чтобы найти тот, который вы ищете. Вы не должны полагаться на всех, чтобы получить это правильно, либо. Azure Repos и TFS могут применять правильный способ использования папок ветви.

Планирование

Определите структуру папок, которую вы хотите разрешить. Например, мы настроим наш репозиторий для применения следующих правил:

  • Только main в корневом каталоге репозитория может существовать.
  • Всем пользователям будет разрешено создавать ветви в папке feature/ и users/ папках.
  • Администратор istrators смогут создавать ветви в папкеrelease/.

Примечание.

Дополнительные примеры и сведения о стратегиях именования ветвей см. в статье "Внедрение стратегии ветвления Git".

Подготовка

  • Вам потребуется команда управления версиями Team Foundation (tf.exe).
  • Вам потребуется URL-адрес учетной записи или коллекции, имя проекта и имя репозитория. В этом примере мы будем использовать https://fabrikam-fiber.visualstudio.com, FabrikamProjectи FabrikamRepo.

Примечание.

Команда tf.exe устанавливается по умолчанию в Visual Studio. Вы можете получить доступ к нему с помощью командной строки разработчика. Для получения дополнительных параметров скачайте командную Обозреватель.

Принудительное применение разрешений

Выполните следующие команды в командной строке разработчика в разделе "Запуск>командной строки разработчика Visual Studio".> Каждая команда предшествует объяснению того, что это делает. Если у вас нет кэша личного маркера доступа (например, войдите на веб-портал Azure DevOps Services), вам будет предложено войти в систему.

Сначала блокируйте разрешение Create Branch в корневом каталоге репозитория для участник проекта.

tf git permission /deny:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo

Затем разрешите участник создавать ветви в feature иusers.

tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:feature
tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:users

Разрешить администраторам создавать ветви в разделе release.

tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:release

Наконец, разрешите администраторам создавать вызываемую main ветвь (если она когда-либо случайно удаляется).

tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:main

Примечание.

Дополнительные сведения см. в разделе разрешения tf Git. Вы также можете получить доступ к справке по этим командам из командной строки, выполнив tf git /? и tf git permission /?.

Переименование старых ветвей

  1. Откройте репозиторий в Интернете и выберите представление "Ветви".

  2. Найдите существующую ветвь. Если вы этого не видите, может потребоваться просмотреть вкладку "Все ".

  3. Выберите контекстное ... меню (кнопка) и нажмите кнопку "Создать ветвь".

    Меню

  4. Введите новое имя ветви, например users/frank/readme-fix. Нажмите кнопку "Создать ветвь".

    Создание ветви

  5. Щелкните красный значок корзины рядом со старым именем ветви, чтобы удалить его.

    Удаление старой ветви

Примечание.

Любые настраиваемые разрешения или политики ветви, которые вы настроили, не будут перенесены.