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


Команда разрешения Git

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

Visual Studio 2019 | Visual Studio 2022

Команда tf git permission изменяет список управления доступом пользователей (ACL) и отображает параметры авторизации для репозитория или ветви Git в репозитории Git.

Необходимые условия

  • Чтобы просмотреть разрешения, можно просмотреть артефакт для типа запрашиваемых сведений: Просмотреть сведения на уровне коллекции для коллекций проектов, просмотреть сведения о уровне проекта для проектов и чтение для репозитория и ветви, если вы просматриваете разрешения ветви.

  • Для управления разрешениями управление разрешениями для требуемого артефакта.

Дополнительные сведения см. в разделе разрешения Git по умолчанию.

Синтаксис

tf git permission [/allow:(* |perm1[,perm2,...]] 
                  [/deny:(* |perm1[,perm2,...])]
                  [/remove:(* |perm1[,perm2,...])]
                  [/user:username1[,username2,...]]
                  [/group:groupname1[,groupname2,...]]
                  /collection:TeamProjectCollectionUrl
                  [/teamproject:TeamProjectIdentifier]
                  [/repository:RepositoryIdentifier]
                  [/branch:BranchName]
                  [/login:username,[password]]

Параметры

Параметр Описание
/allow:(* |<perm1>[,<perm2>,...]) Разрешения для разрешения.
/deny:(* |<perm1>[,<perm2>,...]) Разрешения на запрет.
/remove:(* |<perm1>[,<perm2>,...]) Разрешения на удаление, иногда называются не заданными. Вы можете использовать все три /allow, /denyи /remove в одном вызове. Дополнительные сведения о взаимодействии параметров разрешения, запрета и удаления см. в параметрах разрешений.
/user:<username1>[,<username2>,...] Пользователь или пользователи, для которых можно разрешить, запретить или удалить разрешения. Необходимо указать по крайней мере одного пользователя или группы.
/group:<groupname1>[,<groupname2>,...] Группы или группы, для которых необходимо разрешить, запретить или удалить разрешения. Необходимо указать по крайней мере одного пользователя или группы. Группы и отдельные лица можно использовать вместе.
/collection:<TeamProjectCollectionUrl> Указывает URL-адрес коллекции проектов, содержащей разрешения для просмотра или изменения. Например, http://myserver:8080/tfs/DefaultCollection или https://fabrikam-fiber.visualstudio.com. Этот параметр является обязательным.
/teamproject:<TeamProjectIdentifier> Указывает имя проекта, содержащего разрешения для просмотра или изменения.
/repository:<RepositoryIdentifier> Указывает имя репозитория, содержащего разрешения для просмотра или изменения.
/branch:<BranchName> Указывает имя ветви, содержащей разрешения для просмотра или изменения. Если указать /branch, необходимо также указать /repository.
/login:<username>[,<password>] Указывает учетную запись пользователя для выполнения команды. См. команды управления версиями Team Foundation.

Список разрешений, которые можно администрировать командой tf git permission, см. в пространства имен репозитория Git.

Примеры

Заметка

Следующие примеры разбиты на несколько строк для удобства чтения. Чтобы скопировать и вставить их в командную строку и запустить их, сначала скопируйте их и вставьте их в Блокнот или другое средство и измените их, чтобы команды содержали в одной строке.

Просмотр разрешений уровня коллекции

В следующем примере перечислены разрешения для коллекции fabrikam-fiber.

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

Просмотр разрешений на уровне проекта

В следующем примере перечислены разрешения уровня проекта для проекта FabrikamFiber, который находится в коллекции fabrikam-fiber.

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /teamproject:FabrikamFiber
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

Просмотр разрешений уровня репозитория

В следующем примере перечислены разрешения уровня проекта для репозитория FabrikamFiber, который находится в проекте FabrikamFiber.

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /teamproject:FabrikamFiber 
                  /repository:FabrikamFiber 
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

Требовать команды папок ветви

В следующих примерах показано, как создать политику ветви, которая применяет следующие ограничения:

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

В этом примере используется следующая коллекция, проект и репозиторий:

  • /collection: https://fabrikam-fiber.visualstudio.com
  • /teamproject: FabrikamProject
  • /repository FabrikamRepo

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

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

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

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

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

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

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

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

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