Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
As políticas de branch ajudam as equipes a proteger seus importantes ramos de desenvolvimento. As políticas impõem a qualidade de código e os padrões de gerenciamento de alterações da sua equipe. Este artigo descreve como definir e gerenciar políticas de branch. Para obter uma visão geral de todas as políticas e configurações de repositório e branch, consulte as configurações e políticas do repositório Git.
Um branch que tem as políticas necessárias configuradas não pode ser excluído e requer PRs (solicitações de pull) para todas as alterações.
Pré-requisitos
Para definir políticas de branch, você deve ser membro do grupo de segurança Project Administradores ou ter permissões de políticas de edição no nível do repositório. Para obter mais informações, consulte Definir permissões de repositório Git.
Se você quiser usar Azure DevOps comandos de política do az repos da CLI para gerenciar políticas de branch, siga as etapas em Introdução com Azure DevOps CLI.
Para definir políticas de branch, você deve ser membro do grupo de segurança Project Administradores ou ter permissões de políticas de edição no nível do repositório. Para obter mais informações, consulte Definir permissões de repositório Git.
Para gerenciar políticas de branch, selecione Repos>Branches para abrir a página Branches no portal da Web.
Você também pode acessar as configurações de política de branch com Project Configurações>RepositoryPoliciesBranch>>PoliciesBranch><Name>.
Branches que têm políticas exibem um ícone de política. Você pode selecionar o ícone para ir diretamente para as configurações de política do branch.
Para definir políticas de branch, localize o branch que você deseja gerenciar. Você pode navegar pela lista ou pesquisar sua ramificação na caixa de nome do branch de pesquisa no canto superior direito.
Selecione o ícone Mais opções ao lado da ramificação e selecione políticas do Branch no menu de contexto.
Localize seu branch na página. Você pode navegar pela lista ou pesquisar sua ramificação usando a caixa Pesquisar todas as ramificações no canto superior direito.
Selecione o botão ... Selecione Políticas de branch no menu de contexto.
Configure políticas na página de configurações do branch. Consulte as seções a seguir para obter descrições e instruções para cada tipo de política.
Configure suas políticas na página Políticas. Consulte as seções a seguir para obter descrições de cada tipo de política. Selecione Salvar alterações para aplicar sua nova configuração de política.
Você pode usar Azure DevOps CLI para listar ou mostrar políticas para um branch ou repositório.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parâmetros
Parâmetro
Descrição
branch
Nome do branch para filtrar resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main.
detect
Detectar automaticamente a organização. Valores aceitos: false, true.
org, organization
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git.
query-examples
Cadeia de caracteres JMESPath recomendada. Você pode copiar uma das consultas e colá-la após o parâmetro entre aspas --query duplas para ver os resultados. Você pode adicionar uma ou mais palavras-chave posicionais para que as sugestões sejam baseadas nessas palavras-chave.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Exemplo
O comando a seguir retorna todas as políticas de branch em vigor no main branch do repositório Fabrikam, ID d28cd374-e7f0-4b1f-ad60-f349f155d47c. Você pode obter a ID do repositório executando az repos list.
Este exemplo usa a seguinte configuração padrão: az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy list --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --branch main --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
5 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
6 Comment requirements False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
12 Required reviewers True False d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parâmetros
Parâmetro
Descrição
id, policy-id
ID da política. Obrigatório.
detect
Detectar automaticamente a organização. Valores aceitos: false, true.
org, organization
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git.
query-examples
Cadeia de caracteres JMESPath recomendada. Você pode copiar uma das consultas e colá-la após o parâmetro entre aspas --query duplas para ver os resultados. Você pode adicionar uma ou mais palavras-chave posicionais para que as sugestões sejam baseadas nessas palavras-chave.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Azure DevOps comandos da CLI não têm suporte para Azure DevOps Server local.
Exigir um número mínimo de revisores
As revisões de código são importantes para projetos de desenvolvimento de software. Para garantir que as equipes revisem e aprovem PRs, você pode exigir a aprovação de um número mínimo de revisores. A política básica exige que um número especificado de revisores aprove o código, sem rejeições.
Para definir a política, em Políticas de Branch, defina Exigir um número mínimo de revisores como Ativado. Insira o número necessário de revisores e selecione qualquer uma das seguintes opções:
Selecione Permitir que os solicitantes aprovem suas próprias alterações para permitir que o criador de uma PR vote em sua aprovação. Caso contrário, o criador ainda poderá votar Aprovação na PR, mas seu voto não contará para o número mínimo de revisores.
Selecione Proibir que o pusher mais recente aprove suas próprias alterações para impor a segregação de tarefas. Por padrão, qualquer pessoa com permissão por push no branch de origem pode adicionar confirmações e votar na aprovação de PR. Selecionar essa opção significa que o voto do pusher mais recente não conta, mesmo que eles possam normalmente aprovar suas próprias alterações.
Selecione Permitir conclusão mesmo que alguns revisores votem para aguardar ou rejeitar para permitir a conclusão da PR, mesmo que alguns revisores votem contra a aprovação. O número mínimo de revisores ainda deve aprovar.
Em Quando novas alterações são enviadas por push:
Selecione Exigir pelo menos uma aprovação na última iteração para exigir pelo menos um voto de aprovação para a última alteração do branch de origem.
Selecione Redefinir todos os votos de aprovação (não redefine votos para rejeitar ou aguardar) para remover todos os votos de aprovação, mas mantenha os votos para rejeitar ou aguardar, sempre que o branch de origem mudar,
Selecione Redefinir todos os votos do revisor de código para remover todos os votos do revisor sempre que o branch de origem for alterado, incluindo votos para aprovar, rejeitar ou aguardar.
Se os Solicitantes puderem aprovar suas próprias alterações não estiverem selecionados, o criador da solicitação de pull ainda poderá votar Aprovar em sua solicitação de pull, mas seu voto não contará para o número mínimo de revisores.
Se algum revisor rejeitar as alterações, a solicitação de pull não poderá ser concluída, a menos que você selecione Permitir a conclusão, mesmo que alguns revisores votem para aguardar ou rejeitar.
Você pode redefinir os votos do revisor de código quando novas alterações forem enviadas por push para o branch de origem. Selecione Redefinir votos do revisor de código quando houver novas alterações.
Se todas as outras políticas forem aprovadas, o criador poderá concluir a PR quando o número necessário de revisores a aprovar.
Bloqueie se a política não for atendida. Valores aceitos: false, true. Obrigatório.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main. Obrigatório.
creator-vote-counts
Conte o voto do criador. Valores aceitos: false, true. Obrigatório.
enabled
Habilite a política. Valores aceitos: false, true. Obrigatório.
minimum-approver-count
Número mínimo de aprovadores necessários. Por exemplo: 2. Obrigatório.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Obrigatório.
reset-on-source-push
Redefina os votos quando as alterações forem enviadas por push para a origem. Valores aceitos: false, true. Obrigatório.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Exemplo
O exemplo a seguir define o número mínimo de aprovações necessárias para 2 solicitações de pull no main branch do repositório Fabrikam. A política permite downvotes, o que significa que as solicitações de pull podem ser concluídas mesmo que alguns revisores votem para não aprovar, desde que o número mínimo vote para aprovar. Os pushes para o branch de origem não redefinem votos. A política também permite que os criadores de solicitação de pull aprovem suas próprias solicitações de pull.
Este exemplo usa a configuração az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"padrão.
az repos policy approver-count create --allow-downvotes true --blocking true --branch main --creator-vote-counts true --enabled true --minimum-approver-count 2 --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --reset-on-source-push false --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
27 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Bloqueie se a política não for atendida. Valores aceitos: false, true.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
creator-vote-counts
Conte o voto do criador. Valores aceitos: false, true.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
enabled
Habilite a política. Valores aceitos: false, true.
minimum-approver-count
Número mínimo de aprovadores necessários. Por exemplo: 2.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
reset-on-source-push
Redefina os votos quando as alterações forem enviadas por push para a origem. Valores aceitos: false, true.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Azure DevOps comandos da CLI não têm suporte para Azure DevOps Server local.
Verificar se há itens de trabalho vinculados
Para o acompanhamento de gerenciamento de itens de trabalho, você pode exigir associações entre PRs e itens de trabalho. A vinculação de itens de trabalho fornece mais contexto para alterações e garante que as atualizações passem pelo processo de acompanhamento de itens de trabalho.
Para definir a política, em Políticas de Branch, defina Verificar itens de trabalho vinculados como Ativado. Essa configuração exige que os itens de trabalho sejam vinculados a uma PR para que a PR seja mesclada. Torne a configuração opcional para avisar quando não há itens de trabalho vinculados, mas permitir a conclusão da solicitação de pull.
Você pode usar a CLI do Azure az repos policy work-item-linking para criar e atualizar políticas de vinculação de item de trabalho para um branch ou repositório.
Bloqueie se a política não for atendida. Valores aceitos: false, true. Obrigatório.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main. Obrigatório.
enabled
Habilite a política. Valores aceitos: false, true. Obrigatório.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Atualizar a política de vinculação de item de trabalho
Bloqueie se a política não for atendida. Valores aceitos: false, true.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
enabled
Habilite a política. Valores aceitos: false, true.
minimum-approver-count
Número mínimo de aprovadores necessários. Por exemplo: 2.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Exemplo
O exemplo a seguir atualiza a ID 3 da política do main branch do repositório Fabrikam a ser habilitado, mas opcional. O exemplo usa a configuração az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"padrão.
>az repos policy work-item-linking update --id 3 --blocking false --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps comandos da CLI não têm suporte para Azure DevOps Server local.
Verificar a resolução de comentários
A política de verificação de resolução de comentários verifica se todos os comentários de PR foram resolvidos.
Configure uma política de resolução de comentários para seu branch definindo Verificar se há resolução de comentários como Ativada. Em seguida, selecione se deseja tornar a política necessária ou opcional.
Para obter mais informações sobre como trabalhar com comentários de solicitação de pull, consulte Examinar solicitações de pull.
Configure uma política de resolução de comentários para seu branch selecionando Verificar a resolução de comentários.
Para obter mais informações sobre como trabalhar com comentários de solicitação de pull, consulte Examinar solicitações de pull.
Você pode usar Azure DevOps CLI az repos policy comment-required para definir e atualizar a política de resolução de comentários.
Bloqueie se a política não for atendida. Valores aceitos: false, true. Obrigatório.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main. Obrigatório.
enabled
Habilite a política. Valores aceitos: false, true. Obrigatório.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Obrigatório.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Bloqueie se a política não for atendida. Valores aceitos: false, true.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
enabled
Habilite a política. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Exemplo
O exemplo a seguir atualiza a main ID 6 da política de resolução de comentários no branch do repositório Fabrikam a ser bloqueado. Os comentários devem ser resolvidos antes que as solicitações de pull possam ser mescladas. Este exemplo usa a configuração az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"padrão.
az repos policy comment-required update --id 6 --blocking true --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- -------------------- ------------- ------------ ------------------------------------ ---------------
6 Comment requirements True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps comandos da CLI não têm suporte para Azure DevOps Server local.
Limitar tipos de mesclagem
Azure Repos tem várias estratégias de mesclagem e, por padrão, todas elas são permitidas. Você pode manter um histórico de branch consistente aplicando uma estratégia de mesclagem para conclusão de PR.
Defina os tipos de mesclagem Limite como On para limitar quais tipos de mesclagem permitir em seu repositório.
A mesclagem básica (sem avanço rápido) cria uma confirmação de mesclagem no destino cujos pais são os branches de destino e de origem.
A mesclagem de squash cria um histórico linear com uma única confirmação no branch de destino com as alterações do branch de origem. Saiba mais sobre a mesclagem de squash e como ela afeta o histórico de ramificações.
A rebase e o avanço rápido criam um histórico linear reproduzindo as confirmações de origem no branch de destino sem confirmação de mesclagem.
A rebase com a confirmação de mesclagem reproduza as confirmações de origem no destino e também cria uma confirmação de mesclagem.
Observação
Esse recurso está disponível para Azure DevOps Server 2020 e versões posteriores.
Você pode usar Azure DevOps CLI az repos policy merge-strategy para definir e atualizar a política de estratégia de mesclagem.
Bloqueie se a política não for atendida. Valores aceitos: false, true. Obrigatório.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main. Obrigatório.
enabled
Habilite a política. Valores aceitos: false, true. Obrigatório.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Obrigatório.
allow-no-fast-forward
Mesclagem básica sem avanço rápido. Preserva o histórico não linear exatamente como aconteceu durante o desenvolvimento. Valores aceitos: false, true.
allow-rebase
Rebasear e avançar rapidamente. Cria um histórico linear reproduzindo as confirmações do branch de origem no destino sem uma confirmação de mesclagem. Valores aceitos: false, true.
allow-rebase-merge
Rebasear com a confirmação de mesclagem. Cria um histórico semi-linear reproduzindo as confirmações do branch de origem no destino e, em seguida, criando uma confirmação de mesclagem. Valores aceitos: false, true.
allow-squash
Mesclagem de squash. Cria um histórico linear condensando as confirmações do branch de origem em uma única nova confirmação no branch de destino. Valores aceitos: false, true.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
use-squash-merge
Sempre mesclagem de squash. Essa opção não está disponível para outros tipos de mesclagem. Valores aceitos: false, true.
Observação: use-squash-merge foi preterido e será removido em uma versão futura. Use --allow-squash em vez disso.
Exemplo
O exemplo a seguir define uma estratégia de mesclagem necessária para solicitações de pull no main branch do repositório Fabrikam para permitir a mesclagem de squash. Este exemplo usa a configuração az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"padrão.
az repos policy merge-strategy create --allow-squash true --blocking true --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------------ ------------- ------------ ------------------------------------ ---------------
29 Require a merge strategy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Mesclagem básica sem avanço rápido. Preserva o histórico não linear exatamente como aconteceu durante o desenvolvimento. Valores aceitos: false, true.
allow-rebase
Rebasear e avançar rapidamente. Cria um histórico linear reproduzindo as confirmações do branch de origem no destino sem uma confirmação de mesclagem. Valores aceitos: false, true.
allow-rebase-merge
Rebasear com a confirmação de mesclagem. Cria um histórico semi-linear reproduzindo as confirmações do branch de origem no destino e, em seguida, criando uma confirmação de mesclagem. Valores aceitos: false, true.
allow-squash
Mesclagem de squash. Cria um histórico linear condensando as confirmações do branch de origem em uma única nova confirmação no branch de destino. Valores aceitos: false, true.
blocking
Bloqueie se a política não for atendida. Valores aceitos: false, true.
branch
Nome da ramificação para filtrar os resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política se aplicará em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detecte automaticamente a organização. Valores aceitos: false, true.
enabled
Habilite a política. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio da configuração git.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
use-squash-merge
Se a mesclagem de squash sempre. Essa opção não funciona para outros tipos de mesclagem. Valores aceitos: false, true.
Azure DevOps comandos da CLI não têm suporte para Azure DevOps Server local.
Impor uma estratégia de mesclagem
Mantenha um histórico de branch consistente impondo uma estratégia de mesclagem quando uma solicitação de pull for concluída.
Selecione Impor uma estratégia de mesclagem e escolha uma opção para exigir que as solicitações de pull se mesclem usando essa estratégia.
Nenhuma mesclagem rápida – essa opção mescla o histórico de confirmação do branch de origem quando a solicitação de pull é fechada e cria uma confirmação de mesclagem no branch de destino.
Mesclagem de squash – conclua todas as solicitações de pull com uma mesclagem de squash, criando uma única confirmação no branch de destino com as alterações do branch de origem. Saiba mais sobre a mesclagem de squash e como ela afeta seu histórico de ramificações.
Validação de build
Você pode definir uma política que exige que as alterações de PR sejam criadas com êxito antes que a PR possa ser concluída.
As políticas de build reduzem as quebras e mantêm os resultados do teste aprovados. As políticas de build ajudam mesmo se você estiver usando a CI ( integração contínua ) em seus branches de desenvolvimento para detectar problemas antecipadamente.
Uma política de validação de build enfileira um novo build quando uma nova PR é criada ou as alterações são enviadas por push para uma PR existente que tem como destino o branch. A política de build avalia os resultados do build para determinar se a PR pode ser concluída.
Importante
Antes de especificar uma política de validação de build, você deve ter um pipeline de build. Se você não tiver um pipeline, consulte Criar um pipeline de build. Escolha o tipo de build que corresponde ao tipo de projeto.
Em Gatilho, selecione Automático (sempre que o branch de origem for atualizado) ou Manual.
No requisito política, selecione Obrigatório ou Opcional. Se você escolher Obrigatório, os builds deverão ser concluídos com êxito para concluir PRs. Escolha Opcional para fornecer uma notificação da falha de build, mas ainda permitir a conclusão de PRs.
Defina uma expiração de build para garantir que as atualizações do branch protegido não interrompa as alterações para PRs abertas.
Imediatamente quando <o nome> do branch é atualizado: essa opção define o status da política de build de PR como com falha sempre que o branch é atualizado e requeus um build. Essa configuração garante que o build de alterações de PR seja alterado com êxito, mesmo que o branch protegido seja alterado.
Essa opção é melhor para equipes cujas ramificações importantes têm poucas alterações. Teams trabalhando em ramificações de desenvolvimento ocupadas podem achar perturbador esperar por um build sempre que a ramificação for atualizada.
Após <n> horas, se <o nome> do branch tiver sido atualizado: essa opção expirará o status da política atual quando o branch protegido for atualizado se o build de passagem for mais antigo que o limite inserido. Essa opção é um comprometimento entre sempre ou nunca exigir um build quando o branch protegido for atualizado. Essa opção reduz o número de builds quando o branch protegido tem atualizações frequentes.
Nunca: as atualizações do branch protegido não alteram o status da política. Esse valor reduz o número de builds, mas pode causar problemas ao concluir PRs que não foram atualizados recentemente.
Insira um nome de exibição opcional para essa política de build. Esse nome identifica a política na página de políticas do Branch . Se você não especificar um nome de exibição, a política usará o nome do pipeline de build.
Selecione Salvar.
Quando o proprietário da PR envia por push as alterações que são compiladas com êxito, o status da política é atualizado.
Se você tiver um nome> de branch imediatamente quando <for atualizado ou após <n> horas se <o nome> do branch tiver sido atualizado, o status da política será atualizado quando o branch protegido for atualizado, se o build anterior não for mais válido.
Observação
Esse recurso está disponível para Azure DevOps Server 2020 e versões posteriores.
Você pode usar Azure DevOps CLI az repos policy build para definir e atualizar a política de validação de build.
Bloqueie se a política não for atendida. Valores aceitos: false, true. Obrigatório.
branch
Nome do branch para filtrar resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main. Obrigatório.
build-definition-id
A ID de definição de build. Obrigatório.
display-name
Nome de exibição para essa política de build para identificar a política. Por exemplo: Manual queue policy. Obrigatório.
enabled
Habilite a política. Valores aceitos: false, true. Obrigatório.
manual-queue-only
Se deseja permitir apenas a fila manual de builds. Valores aceitos: false, true. Obrigatório.
queue-on-source-update-only
Se a fila for compilada somente quando a origem for atualizada. Valores aceitos: false, true. Obrigatório.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Obrigatório.
valid-duration
Duração da validade da política, em minutos. Nota:valid-duration deve estar entre zero e um ano, e deve ser zero quando --queue-on-source-update-only for false. Obrigatório.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política será aplicada em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detectar automaticamente a organização. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Caminhos nos quais a política é aplicada. Dá suporte a caminhos absolutos, curingas e vários caminhos separados por ;. Exemplos: /WebApp/Models/Data.cs, /WebApp/*ou ou *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Exemplo
O exemplo a seguir define uma política de build necessária para solicitações de pull no main branch do repositório Fabrikam. A política requer uma compilação bem-sucedida da ID 1de definição de build e permite apenas a fila de build manual. Este exemplo usa a configuração az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"padrão.
az repos policy build create --blocking true --branch main --build-definition-id 1 --display-name build-policy --enabled true --manual-queue-only true --queue-on-source-update-only false --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --valid-duration 0 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------ ------------- ------------ ------------------------------------ ---------------
31 build-policy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Bloqueie se a política não for atendida. Valores aceitos: false, true.
branch
Nome do branch para filtrar resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política será aplicada em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
build-definition-id
A ID de definição de build.
detect
Detectar automaticamente a organização. Valores aceitos: false, true.
display-name
Nome de exibição para essa política de build para identificar a política. Por exemplo: Manual queue policy.
enabled
Habilite a política. Valores aceitos: false, true.
manual-queue-only
Se deseja permitir apenas a fila manual de builds. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Caminhos nos quais a política é aplicada. Dá suporte a caminhos absolutos, curingas e vários caminhos separados por ;. Exemplos: /WebApp/Models/Data.cs, /WebApp/*ou ou *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git.
queue-on-source-update-only
Se a fila for compilada somente quando a origem for atualizada. Valores aceitos: false, true.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
valid-duration
Duração da validade da política, em minutos.
Azure DevOps comandos da CLI não têm suporte para Azure DevOps Server local.
Defina uma política que exige alterações em uma solicitação de pull para compilar com êxito com o branch protegido antes que a solicitação de pull possa ser concluída.
As políticas de build reduzem as quebras e mantêm os resultados do teste aprovados. As políticas de build ajudam mesmo se você estiver usando a CI ( integração contínua ) em seus branches de desenvolvimento para detectar problemas antecipadamente.
Se uma política de validação de build estiver habilitada, um novo build será enfileirado quando uma nova solicitação de pull for criada ou se as alterações forem enviadas por push para uma solicitação de pull existente direcionada ao branch. Em seguida, a política de build avalia os resultados do build para determinar se a solicitação de pull pode ser concluída.
Importante
Antes de especificar uma política de validação de build, você deve ter uma definição de build. Se você não tiver uma, consulte Criar uma definição de build e escolha o tipo de build que corresponde ao tipo de projeto.
Escolha Adicionar política de build e configure suas opções em Adicionar política de build.
Selecione a definição de Build.
Escolha o tipo de Gatilho. Selecione Automático (sempre que o branch de origem for atualizado) ou Manual.
Selecione o requisito política. Se você escolher Obrigatório, os builds deverão ser concluídos com êxito para concluir as solicitações de pull. Escolha Opcional para fornecer uma notificação da falha de build, mas ainda permitir a conclusão das solicitações de pull.
Defina uma expiração de build para garantir que as atualizações do branch protegido não interrompa as alterações para solicitações de pull abertas.
Imediatamente quando branch name é atualizada: essa opção define o status da política de build em uma solicitação de pull para falhar quando o branch protegido é atualizado. Requeia um build para atualizar o status de build. Essa configuração garante que as alterações nas solicitações de pull sejam compiladas com êxito, mesmo quando o branch protegido for alterado. Essa opção é melhor para equipes que têm ramificações importantes com um volume menor de alterações. Teams trabalhando em ramificações de desenvolvimento ocupadas podem achar perturbador aguardar a conclusão de um build sempre que a ramificação protegida for atualizada.
Após n horas, se branch name tiver sido atualizado: essa opção expirará o status da política atual quando o branch protegido for atualizado se o build de passagem for mais antigo do que o limite inserido. Essa opção é um compromisso entre sempre exigir um build quando o branch protegido é atualizado e nunca exigir um. Essa opção é excelente para reduzir o número de builds quando o branch protegido tem atualizações frequentes.
Nunca: as atualizações do branch protegido não alteram o status da política. Esse valor reduz o número de builds para o branch. Isso pode causar problemas ao fechar solicitações de pull que não foram atualizadas recentemente.
Insira um nome de exibição opcional para essa política de build. Esse nome identifica a política na página de políticas do Branch . Se você não especificar um nome de exibição, a política usará o nome de definição de build.
Selecione Salvar.
Quando o proprietário envia por push alterações que são criadas com êxito, o status da política é atualizado. Se você tiver uma política de build atualizada imediatamente quando branch name for atualizada ou após n horas, se branch name tiver sido escolhida a política de build atualizada, o status da política será atualizado quando o branch protegido for atualizado se o build mais recente não for mais válido.
Verificações de status
Os serviços externos podem usar a API de Status de PR para postar o status detalhado em suas PRs. A política de branch para serviços adicionais permite que esses serviços de terceiros participem do fluxo de trabalho de PR e estabeleçam requisitos de política.
Os serviços externos podem usar a API de Status de PR para postar o status detalhado em suas PRs. A política de branch para serviços adicionais traz a capacidade para que esses serviços de terceiros participem do fluxo de trabalho de PR e estabeleçam requisitos de política.
Você pode adicionar automaticamente revisores para efetuar pull de solicitações que alteram arquivos em diretórios e arquivos específicos ou para todas as solicitações de pull em um repositório.
Selecione o + botão ao lado de revisores incluídos automaticamente.
Preencha a tela Adicionar nova política do revisor .
Adicione pessoas e grupos aos Revisores.
Selecione Opcional se você quiser adicionar revisores automaticamente, mas não exigir sua aprovação para concluir a solicitação de pull.
Ou selecione Obrigatório se as solicitações de pull não puderem ser concluídas até:
Cada indivíduo adicionado como revisor aprova as alterações.
Pelo menos uma pessoa em cada grupo adicionado como revisor aprova as alterações.
Se apenas um grupo for necessário, o número mínimo de membros que você especificar aprovará as alterações.
Especifique os arquivos e pastas que exigem os revisores incluídos automaticamente. Deixe esse campo em branco para exigir os revisores para todas as solicitações de pull no branch.
Selecione Permitir que os solicitantes aprovem suas próprias alterações se os proprietários de solicitações de pull puderem votar para aprovar suas próprias solicitações de pull para atender a essa política.
Você pode especificar uma mensagem do feed de atividades que aparece na solicitação de pull.
Selecione Salvar.
Observação
Esse recurso está disponível para Azure DevOps Server 2020 e versões posteriores.
Bloqueie se a política não for atendida. Valores aceitos: false, true. Obrigatório.
branch
Nome do branch para filtrar resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main. Obrigatório.
enabled
Habilite a política. Valores aceitos: false, true. Obrigatório.
message
Mensagem do feed de atividades que aparece na solicitação de pull. Necessário.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Obrigatório.
required-reviewer-ids
Endereços de email do revisor separados por ;. Por exemplo: john@contoso.com;alice@contoso.com.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política será aplicada em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detectar automaticamente a organização. Valores aceitos: false, true.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Caminhos nos quais a política é aplicada. Dá suporte a caminhos absolutos, curingas e vários caminhos separados por ;. Exemplos: /WebApp/Models/Data.cs, /WebApp/*ou ou *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Exemplo
O exemplo a main seguir define Jamal Hartnett como um revisor necessário para solicitações de pull no branch do repositório Fabrikam. Este exemplo usa a configuração az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"padrão.
az repos policy required-reviewer create --blocking true --branch main --enabled true --message "Please review." --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --required-reviewer-ids fabrikamfiber4@hotmail.com --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------ ------------- ------------ ------------------------------------ ---------------
35 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Bloqueie se a política não for atendida. Valores aceitos: false, true.
branch
Nome do branch para filtrar resultados por correspondência exata. O --repository-id parâmetro é necessário para usar o filtro de branch. Por exemplo: --branch main.
branch-match-type
Use o branch argumento para aplicar a política. Se o valor for exact, a política será aplicada em um branch que corresponde exatamente ao --branch argumento. Se o valor for prefix, a política será aplicada em todas as pastas de branch que correspondem ao prefixo no --branch argumento. Valores aceitos: exact, prefix. Valor padrão: exact.
detect
Detectar automaticamente a organização. Valores aceitos: false, true.
enabled
Habilite a política. Valores aceitos: false, true.
message
Mensagem do feed de atividades que aparece na solicitação de pull.
org
Azure DevOps URL da organização. Você pode configurar a organização padrão usando az devops configure -d organization=<ORG_URL>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git. Exemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Caminhos nos quais a política é aplicada. Dá suporte a caminhos absolutos, curingas e vários caminhos separados por ;. Exemplos: /WebApp/Models/Data.cs, /WebApp/*ou ou *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nome ou ID do projeto. Você pode configurar o projeto padrão usando az devops configure -d project=<NAME_OR_ID>. Obrigatório se não estiver configurado como padrão ou selecionado por meio de configuração git.
repository-id
ID do repositório para filtrar os resultados por correspondência exata. Por exemplo, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
required-reviewer-ids
Endereços de email do revisor separados por ;. Por exemplo: john@contoso.com;alice@contoso.com.
subscription
Nome ou ID da assinatura. Você pode configurar a assinatura padrão usando az account set -s <NAME_OR_ID>.
Azure DevOps comandos da CLI não têm suporte para Azure DevOps Server local.
Selecione revisores para diretórios e arquivos específicos em seu repositório.
Esses revisores são adicionados automaticamente a solicitações de pull que alteram arquivos ao longo desses caminhos. Você também pode especificar uma mensagem do Feed de Atividades.
Se você selecionar Obrigatório, a solicitação de pull não poderá ser concluída até:
Cada usuário adicionado como revisor para o caminho aprova as alterações.
Pelo menos uma pessoa em cada grupo adicionado ao caminho aprova as alterações.
O número de revisores especificados para cada grupo adicionado ao caminho aprova as alterações.
Selecione Opcional se você quiser adicionar revisores automaticamente, mas não exigir sua aprovação para concluir a solicitação de pull.
Você pode selecionar solicitantes que podem aprovar suas próprias alterações.
Quando todos os revisores necessários aprovarem o código, você poderá concluir a solicitação de pull.
Ignorar políticas de branch
Em alguns casos, talvez seja necessário ignorar os requisitos de política. As permissões de bypass permitem que você envie alterações por push diretamente a um branch ou conclua solicitações de pull que não satisfaçam as políticas de branch. Você pode conceder permissões de bypass a um usuário ou grupo. Você pode escopo ignorar permissões para um projeto inteiro, um repositório ou uma única ramificação.
Duas permissões permitem que os usuários ignorem a política de branch de maneiras diferentes:
Ignorar políticas ao concluir solicitações de pull se aplica somente à conclusão da solicitação de pull. Os usuários com essa permissão podem concluir solicitações de pull mesmo se as solicitações de pull não atenderem às políticas.
Ignorar políticas ao enviar push se aplica a pushs de repositórios locais e edições feitas na Web. Os usuários com essa permissão podem enviar alterações por push diretamente para branches protegidos sem atender aos requisitos de política.
Para obter mais informações sobre como gerenciar essas permissões, consulte as permissões do Git.
No TFS 2015 até o TFS 2018 Atualização 2, a permissão isenta de imposição de política permite que os usuários com essa permissão executem as seguintes ações:
Ao concluir uma solicitação de pull, opt-in para substituir políticas e concluir uma solicitação de pull mesmo se o conjunto atual de políticas de branch não estiver satisfeito.
Envie por push diretamente para um branch, mesmo que esse branch tenha políticas de branch definidas. Observe que quando um usuário com essa permissão faz um push que substituiria a política de branch, o push ignora automaticamente a política de branch sem nenhuma etapa de aceitação ou aviso.
Importante
Tenha cuidado ao conceder a capacidade de ignorar políticas, especialmente nos níveis de repositório e projeto. As políticas são uma pedra angular do gerenciamento de código-fonte seguro e compatível.
Filtros de caminho
Várias políticas de branch oferecem filtros de caminho. Se um filtro de caminho for definido, a política se aplicará somente aos arquivos que correspondem ao filtro de caminho. Deixar esse campo em branco significa que a política se aplica a todos os arquivos no branch.
Você pode especificar caminhos absolutos e curingas.
Exemplos:
/WebApp/Models/Data.cs
/WebApp/*
*.cs
Você pode especificar vários caminhos usando ; como separador.
Exemplo:
/WebApp/Models/Data.cs;ClientApp/Models/Data.cs
Os caminhos prefixados com ! eles serão excluídos se forem incluídos de outra forma.
Exemplo:
/WebApp/*;!/WebApp/Tests/* inclui todos os arquivos, /WebApp exceto arquivos em /WebApp/Tests
!/WebApp/Tests/* especifica nenhum arquivo, já que nada está incluído primeiro
A ordem dos filtros é significativa. Os filtros são aplicados da esquerda para a direita.
Posso enviar alterações por push diretamente para branches que têm políticas de branch?
Você não pode enviar alterações por push diretamente para branches que tenham políticas de branch necessárias , a menos que você tenha permissões para ignorar as políticas de branch. As alterações nesses branches só podem ser feitas por meio de solicitações de pull. Você pode enviar alterações por push diretamente para branches que têm políticas de branch opcionais , se elas não tiverem políticas de branch necessárias.
O que é preenchimento automático?
As solicitações de pull em branches com políticas de branch configuradas têm o botão Definir preenchimento automático . Selecione essa opção para concluir automaticamente a solicitação de pull assim que ela atender a todas as políticas. O preenchimento automático é útil quando você não espera problemas com suas alterações.
Quando as condições de política de branch são verificadas?
As políticas de branch são reavaliadas no servidor quando os proprietários de solicitação de pull pressionam as alterações e quando os revisores votam. Se uma política disparar um build, o status de build será configurado como aguardando até que o build seja concluído.
Posso usar definições de build XAML em políticas de branch?
Não, você não pode usar definições de build XAML em políticas de branch.
Quais caracteres curinga posso usar para revisores de código necessários?
Os asteriscos únicos correspondem a qualquer número de caracteres * , incluindo barras para / frente e barras invertidas \. Os pontos de interrogação ? correspondem a qualquer caractere único.
Exemplos:
*.sql corresponde a todos os arquivos com a extensão .sql .
/ConsoleApplication/* corresponde a todos os arquivos na pasta chamada ConsoleApplication.
/.gitattributes corresponde ao arquivo .gitattributes na raiz do repositório.
*/.gitignore corresponde a qualquer arquivo .gitignore no repositório.
Os caminhos do revisor de código necessários diferenciam maiúsculas de minúsculas?
Não, as políticas de branch não diferenciam maiúsculas de minúsculas.
Como posso configurar vários usuários como revisores necessários, mas exigir que apenas um deles aprove?
Você pode adicionar os usuários a um grupo e adicionar o grupo como revisor. Qualquer membro do grupo pode aprovar para atender ao requisito de política.
Tenho permissões de política de bypass. Por que ainda vejo falhas de política no status da solicitação de pull?
As políticas configuradas são sempre avaliadas para alterações de solicitação de pull. Para usuários que têm permissões de política de bypass, o status da política relatada é apenas consultivo. Se o usuário com permissões de bypass aprovar, o status da falha não bloqueará a conclusão da solicitação de pull.
Por que não consigo concluir minhas próprias solicitações de pull quando "Permitir que os solicitantes aprovem suas próprias alterações está definida"?
A política Exigir um número mínimo de revisores e a política de revisores incluída automaticamente têm opções para permitir que os solicitantes aprovem suas próprias alterações. Em cada política, a configuração se aplica somente a essa política. A configuração não afeta a outra política.
Por exemplo, sua solicitação de pull tem as seguintes políticas definidas:
Exigir um número mínimo de revisores requer pelo menos um revisor.
Revisores incluídos automaticamente exigem que você ou uma equipe em que você esteja como revisor.
Os revisores incluídos automaticamentepermitem que os solicitantes aprovem suas próprias alterações habilitadas.
Exigir um número mínimo de revisores não tem permitir que os solicitantes aprovem suas próprias alterações habilitadas.
Nesse caso, sua aprovação atende aos revisores incluídos automaticamente, mas não requer um número mínimo de revisores, portanto, você não pode concluir a solicitação de pull.
Também pode haver outras políticas, como Proibir que o pusher mais recente aprove suas próprias alterações, que impedem que você aprove suas próprias alterações mesmo se permitir que os solicitantes aprovem suas próprias alterações .