Definir configurações e políticas do repositório Git
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Há várias maneiras de personalizar seus repositórios Git do Azure Repos usando configurações e políticas de branch e repositório. Este artigo discute as configurações e as políticas no nível do repositório.
As configurações e políticas do repositório configuram opções globais para todos os repositórios Git de um projeto ou organização, ou para repositórios individuais.
Este artigo discute as configurações e as políticas do repositório do lado do servidor. Para saber mais sobre as preferências do Git do lado do cliente, confira Preferências e configurações do Git no Visual Studio.
As políticas de branch abrangem controles específicos do branch.
As políticas de branch incluem opções como exigir uma solicitação de pull, um build bem-sucedido ou uma revisão de código antes que as alterações possam ser mescladas em um branch. Para saber mais, confira Políticas e configurações de branch.
As permissões de segurança do repositório e do branch controlam as atribuições dos usuários.
Essas permissões controlam quem pode ler, gravar, contribuir com solicitações de pull e executar outras ações específicas. Para obter mais informações, consulte Definir permissões do repositório Git.
Resumo de todas as configurações e políticas de repositório e branch
Você pode definir configurações e políticas para todos os repositórios de um projeto, para repositórios individuais e para branches de repositórios. No navegador, você define todas essas configurações e políticas por meio dos Repositórios> de configurações do Projeto.
Observação
Você pode definir várias configurações e políticas de branch com a CLI do Azure usando az repos policy.
As tabelas a seguir resumem as configurações e as políticas que você pode habilitar e configurar para os repositórios e branches do Git.
Todas as configurações de repositórios
A tabela a seguir resume as configurações que você pode habilitar e configurar para todos os novos repositórios Git em um projeto ou em uma organização.
Configuração
Default
Descrição
Desativado
Inicialize novos repositórios com o nome de branch padrão que você especificar. Você pode alterar o branch padrão de um repositório específico a qualquer momento. Se você não habilitar esse recurso, os repositórios inicializarão com um branch padrão chamado main
.
Ativado
Permitir que os usuários gerenciem permissões para seus branches criados em todos os novos repositórios.
Configurações do repositório
A tabela a seguir resume as configurações que você pode habilitar ou configurar para cada repositório Git individual.
Configuração
Default
Descrição
Ativado
Permitir que os usuários criem bifurcações a partir do repositório.
Ativado
Criar automaticamente os links dos itens de trabalho mencionados em um comentário de confirmação.
Ativado
Permitir menções em comentários de commit para fechar itens de trabalho. Tem como requisito o Azure DevOps Server 2020.1 ou versão posterior.
Ativado
Lembrar as preferências do usuário para concluir itens de trabalho com solicitações de pull.
Ativado
Permitir que os usuários gerenciem permissões para os branches que criarem
Ativado
Habilitar o Modo de Votação Estrita para o repositório, o que requer permissão de Contribuição para votar em solicitações de pull.
Ativado
Desabilitar o acesso ao repositório, incluindo builds e solicitações de pull, mas mantendo o repositório detectável com um aviso.
Ativado
Especifique até cinco branches adicionais para participar da pesquisa de código, que, por padrão, só se aplica ao branch padrão. Requer a extensão de Pesquisa de Código instalada e habilitada.
Políticas ou opções de repositório
A tabela a seguir resume as políticas ou as opções que você pode definir para todos os repositórios ou repositórios individuais. As políticas definidas para Todos os Repositórios definem o padrão dos repositórios individuais adicionados posteriormente.
Política ou Opção
Default
Descrição
Desativado
Bloquear pushes com um email autor do commit que não corresponde aos padrões especificados. Essa configuração tem como requisito o Azure DevOps Server versão 2020.1 ou posterior.
Desativado
Bloqueia a introdução de caminhos de arquivo que correspondam aos padrões especificados. Essa configuração tem como requisito o Azure DevOps Server versão 2020.1 ou posterior.
Desativado
Evitar conflitos de diferenciação de maiúsculas e minúsculas bloqueando pushes que alterem o uso de maiúsculas e minúsculas em arquivos, pastas, branches e marcas.
Desativado
Bloquear pushes que introduzem arquivos, pastas ou nomes de branch que incluam nomes reservados da plataforma ou caracteres incompatíveis.
Desativado
Bloquear pushes que introduzam caminhos que excedam o comprimento especificado.
Desativado
Bloquear pushes que contenham arquivos novos ou atualizados maiores que o limite selecionado.
Políticas de branch
A tabela a seguir resume as políticas que você pode definir para personalizar um branch. Para obter mais informações sobre como definir essas configurações, consulte Melhorar a qualidade do código com políticas de branch. Quando você define qualquer política em um branch, as seguintes políticas são impostas automaticamente:
- São necessárias solicitações de pull para atualizar o branch.
- O branch não pode ser excluído.
Observação
As políticas de branch são aplicadas às Solicitações de Pull com base na branch de destino da Solicitação de Pull. As políticas de branch não devem ser definidas em ramificações temporárias que serão excluídas após uma solicitação de pull. A adição de políticas de branch a ramificações temporárias causará falha na exclusão automática de branch.
Política
Default
Descrição
Desativado
Exigir aprovação de um número especificado de revisores em solicitações de pull.
Desativado
Incentivar a rastreabilidade verificando os itens de trabalho vinculados nas solicitações de pull.
Desativado
Verifique se todos os comentários foram resolvidos nas solicitações de pull.
Desativado
Controlar o histórico do branch limitando os tipos disponíveis de mesclagem quando as solicitações de pull são concluídas.
Desativado
Adicionar, habilitar ou desabilitar uma ou mais políticas para validar o código mesclando e criando alterações nas solicitações de pull.
Desativado
Adicionar, habilitar ou desabilitar uma ou mais políticas para exigir que outros serviços postem status bem-sucedidos para concluir solicitações de pull.
Desativado
Adicionar, habilitar ou desabilitar uma ou mais políticas para designar revisores de código a serem incluídos automaticamente quando as solicitações de pull alterarem determinadas áreas do código.
Pré-requisitos
- Para definir políticas de branch, você deve ser membro do grupo de segurança Administradores do Projeto 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 do Repositório do Git.
- Se você quiser usar comandos az repos , siga as etapas em Introdução à CLI do Azure DevOps.
- Para definir políticas de branch, você deve ser membro do grupo de segurança Administradores do Projeto 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 do Repositório do Git.
Exibir e editar configurações e políticas
Você pode definir configurações para todos os repositórios de uma organização ou projeto ou para repositórios individuais. Você pode configurar políticas para todos os repositórios, para repositórios individuais ou para branches especificados em diferentes repositórios. Para obter informações sobre como definir políticas de branch, consulte Políticas de branch.
Observação
Recomenda-se definir as configurações do repositório no nível do projeto ou para repositórios individuais, mas não ambos. Se você definir as configurações em mais de um nível, o sistema respeitará a configuração mais restritiva. Definir configurações em apenas um nível reduz a confusão e os problemas de desempenho do Git.
Para definir as configurações e políticas do repositório por meio do portal da Web, abraConfigurações do projeto>Repositórios no navegador da Web.
Para exibir ou modificar configurações ou políticas para todos os repositórios Git, abra a página Todos os Repositórios e escolha Configurações ou Políticas.
Para definir configurações e políticas para um repositório específico, selecione a guia Repositórios, escolha o repositório e depois selecione a guia Configurações ou Políticas.
A captura de tela a seguir mostra a guia Configurações selecionada. Você pode definir essas configurações para todos os repositórios Git ou para um repositório individual.
A captura de tela a seguir mostra a guia Políticas selecionada. Você pode definir essas configurações para todos os repositórios Git ou para um repositório individual.
No navegador da Web, abra o projeto e escolha Configurações do projeto, Repositórios e depois selecione seu repositório.
Para exibir e definir as configurações do repositório, selecione Opções ou Políticas.
A captura de tela a seguir mostra Opções para todos os repositórios:
A captura de tela a seguir mostra Opções para repositórios Fabrikam:
Nome de branch padrão
Você pode definir um nome de branch de repositório padrão no nível da organização ou do projeto. A configuração no nível da organização entra em vigor em relação a todos os novos repositórios de todos os projetos da organização. A configuração no nível do projeto afeta todos os novos repositórios em um projeto e substitui qualquer nome definido no nível da organização.
Você pode:
- Escolher qualquer nome de branch permitido a ser usado quando um repositório for inicializado.
- Alterar o nome padrão a qualquer momento para afetar todos os repositórios futuros.
- Alterar o branch padrão de um repositório específico a qualquer momento.
Se você não habilitar o recurso de nome de branch padrão, os repositórios serão inicializados com o nome de branch padrão main
do Azure Repos.
Para definir um nome de branch padrão no nível da organização:
- Na página da organização do Azure DevOps, selecione Configurações da organização no canto inferior esquerdo e, em seguida, selecione Repositórios na navegação à esquerda.
- Na página Todos os Repositórios, defina o Nome de branch padrão para novos repositórios como Ativado e insira um nome de branch padrão.
Para definir um nome de branch padrão no nível do projeto:
- Na página de projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, selecione Repositórios no painel de navegação à esquerda.
- Na guia Configurações da página Todos os Repositórios, defina o Nome de branch padrão para novos repositórios como Ativado e insira um nome de branch padrão.
Observação
A configuração Nome de branch padrão para novos repositórios requer o Azure DevOps Server na versão 2020.1 ou posterior.
Gerenciamento de permissões de branch
Você pode controlar quem pode gerenciar permissões para branches de repositório definindo uma configuração de gerenciamento de permissões para todos os repositórios Git ou para repositórios individuais. Se você habilitar a configuração Permitir que os usuários gerenciem as permissões dos branches que criarem no nível Todos os Repositórios, todos os novos repositórios de projeto serão configurados para permitir que os usuários gerenciem as permissões dos branches que criarem.
Para gerenciar essa configuração:
- Na página de projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, selecione Repositórios no painel de navegação à esquerda.
- Na guia Configurações da página Todos os Repositórios, defina Permitir que os usuários gerenciem permissões para o branches que criarem como Ativado ou Desativado.
Para habilitar ou desabilitar essa configuração em relação a repositórios individuais:
- Selecione Configurações do Projeto>Repositórios e, em seguida, selecione um repositório.
- Na guia Configurações da página <Nome do repositório>, defina o Gerenciamento de permissões como Ativado ou Desativado.
Imagens do Gravatar
Esta configuração habilita ou desabilita o uso de imagens do Gravatar por usuários de fora da sua empresa.
As imagens do Gravatar são uma configuração no nível da organização.
- Na página da organização do Azure DevOps, selecione Configurações da organização no canto inferior esquerdo e, em seguida, selecione Repositórios na navegação à esquerda.
- Na página Todos os Repositórios , defina as imagens do Gravatar como Ativadas ou Desativadas.
As imagens do Gravatar são uma configuração no nível do projeto para Todos os Repositórios.
- Na página de projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, selecione Repositórios no painel de navegação à esquerda.
- Na guia Configurações da página Todos os repositórios, defina as imagens do Gravatar como Ativadas ou Desativadas.
As imagens do Gravatar são uma configuração no nível do projeto para Todos os Repositórios.
- Na página de projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, selecione Repositórios no painel de navegação à esquerda.
- Na guia Configurações da página Todos os repositórios, defina as imagens do Gravatar como Ativadas ou Desativadas.
Habilitar bifurcações
Essa configuração de repositório controla se os usuários podem criar novas bifurcações do lado do servidor. Desabilitar essa configuração não remove as bifurcações existentes.
- Em Configurações do Projeto, selecione Repositórios no painel de navegação à esquerda.
- Na guia Repositórios da página Todos os Repositórios, selecione um repositório.
- Na guia Configurações da página <Nome do repositório>, defina Bifurcações como Ativadas ou Desativadas.
Configurações de vinculação de itens de trabalho
Essas configurações de repositório gerenciam a vinculação de itens de trabalho.
- Selecione Configurações do Projeto>Repositórios e, em seguida, selecione um repositório.
- Na guia Configurações da página <Nome do repositório>, defina as configurações como Ativadas ou Desativadas.
Vinculação de menções a commits
Quando habilitada, as mensagens de confirmação que contêm #
seguidas de uma ID de item de trabalho válida vinculam automaticamente a confirmação a esse item de trabalho. Desabilite essa configuração se o repositório tiver usado uma conta ou serviço diferente anteriormente. Esses repositórios podem ter mensagens de confirmação com menções a #
que não correspondem às IDs do item de trabalho da conta atual.
Resolução de itens de trabalho de menções a commits
Habilite essa configuração para concluir automaticamente os itens de trabalho quando as solicitações de pull vinculadas forem concluídas. Essa configuração também permite especificar outros estados de transição de item de trabalho em mensagens de confirmação de solicitações de pull. Para obter mais informações, consulte Preenchimento automático de itens de trabalho com solicitações de pull.
Resolução de itens de trabalho de menções a commits
Habilite essa configuração para concluir automaticamente esses itens de trabalho quando você concluir com êxito a PR. Para obter mais informações, consulte Preenchimento automático de itens de trabalho com solicitações de pull.
Preferências de transição de itens de trabalho
Por padrão, a opção de concluir itens de trabalho vinculados durante a conclusão da solicitação de pull lembra a última opção de cada usuário. As equipes que desejam desencorajar os usuários a concluir os itens de trabalho com suas solicitações de pull podem desabilitar essa configuração. Em seguida, os usuários devem optar por concluir os itens de trabalho sempre que concluírem uma solicitação de pull.
Configuração do Modo de Votação Estrita
Em determinadas situações, é possível que outros usuários além dos colaboradores de um repositório enviem solicitações de pull e façam com que elas sejam mescladas, dependendo das políticas. Para evitar essa possibilidade, habilite o Modo de Votação Estrita para alterar a permissão necessária para votar em solicitações de pull do repositório para Contribuir. É recomendável habilitar essa configuração se você depender de bifurcações de usuários no Azure Repos.
- Selecione Configurações do Projeto>Repositórios e, em seguida, selecione um repositório.
- Na guia Configurações da página <Nome do repositório>, defina Modo de Votação Estrita como Ativado ou Desativado.
Desabilitar a configuração do repositório
Habilitar essa configuração desabilita o acesso ao repositório, incluindo builds e solicitações de pull, mas mantém o repositório detectável com um aviso.
- Selecione Configurações do Projeto>Repositórios e, em seguida, selecione um repositório.
- Na guia Configurações da página <Nome do repositório>, em Desabilitar Repositório, defina Desabilitar Repositório como Ativado ou Desativado.
Configuração de branches pesquisáveis
Por padrão, a pesquisa de código em arquivos se aplica somente ao branch padrão. Você pode adicionar até cinco branches adicionais na pesquisa.
Importante
Para pesquisar código em repositórios, você deve instalar a extensão Pesquisa de Código do Marketplace. Se você não vir Branches Pesquisáveis na guia Configurações do repositório, verifique se você possui a extensão instalada.
Para adicionar branches para pesquisa de código:
- Selecione Configurações do Projeto>Repositórios e, em seguida, selecione um repositório.
- Na guia Configurações da página <Nome do repositório>, selecione + em Branches Pesquisáveis.
- Selecione um branch a ser incluído na pesquisa e, em seguida, selecione Adicionar branch.
Políticas de branches com abrangência em múltiplos repositórios
Você pode definir políticas em um nome de branch específico ou no branch padrão, em todos os repositórios de um projeto. Por exemplo, você pode exigir dois revisores no mínimo em todas as solicitações de pull de cada branch main
de todos os repositórios do projeto.
Para definir políticas de proteção a nomes específicos ou padronizados dos branches em um projeto:
Em Configurações do Projeto, selecione Repositórios no painel de navegação à esquerda.
Na página Todos os Repositórios, selecione a guia Políticas.
Selecione o sinal de adição + em Políticas de Branch, na parte inferior da página.
Na tela Adicionar proteção de branch, selecione Proteger o branch padrão de cada repositório ou Proteger branches atuais e futuros que correspondam a um padrão especificado.
Se você selecionar a segunda opção, insira o nome do branch a ser protegido. Uma mensagem informativa mostra quantos branches atuais serão afetados. O branch ainda não precisa existir para ter seu nome protegido.
Selecione Criar.
Na página Políticas Entre Diferentes Repositórios relativas ao <nome dos branches>, defina as políticas desejadas para os branches protegidos. Para obter informações sobre políticas de branch, consulte Políticas de branch.
Política de validação de email do autor da confirmação
Essa política bloqueia as confirmações em um repositório por autores de commit cujos endereços de email não correspondem a um padrão.
SelecioneConfigurações de Projeto>Repositórios e selecione um repositório se desejar configurá-lo.
Na guia Políticas da página Todos os Repositórios ou <Nome do Repositório>, em Políticas de Repositório, defina Confirmar validação de email do autor como Ativado ou Desativado.
Se você ativar a política, especifique o endereço ou endereços de email para fazer a correspondência.
Você pode especificar endereços de email exatos ou usar curingas. Use
;
como separador para vários padrões de email. Os padrões de email prefixados com!
são excluídos. A ordem é importante.
Política de validação do caminho do arquivo
Você pode definir uma política para impedir commits em um repositório a partir de caminhos de arquivo que correspondam a um padrão.
SelecioneConfigurações de Projeto>Repositórios e selecione um repositório se desejar configurá-lo.
Na guia Políticas da página Todos os Repositórios ou <Nome do Repositório>, em Políticas de Repositório, defina Validação de caminho de arquivo como Ativada ou Desativada.
Se você ativar a política, especifique o caminho ou os caminhos a serem bloqueados.
Você pode especificar caminhos exatos e curingas. Os caminhos exatos começam com
/
. Você também pode especificar vários caminhos usando;
como separador. Os caminhos prefixados com!
são excluídos. A ordem é importante.
Política de imposição de regra para maiúsculas e minúsculas
O Git diferencia maiúsculas de minúsculas, o que significa que um arquivo chamado Foo.txt é diferente de um arquivo chamado foo.txt. No entanto, o Windows e o macOS assumem como padrão os sistemas de arquivos que não diferenciam maiúsculas de minúsculas, o que significa que Foo.txt e foo.txt são o mesmo nome. Essa discrepância poderá causar problemas se alguém em um sistema que não diferencia maiúsculas de minúsculas enviar arquivos, pastas, branches ou marcas cuja única diferença seja o uso de maiúsculas e minúsculas. Para obter mais informações, confira Compatibilidade Multiplataforma do Git.
Se a maioria dos colaboradores estiver usando Windows ou macOS, é melhor habilitar a política de imposição de maiúsculas e minúsculas . A imposição de maiúsculas e minúsculas remove o servidor do modo padrão que diferencia maiúsculas de minúsculas, em que File.txt e file.txt são distintos, e o insere em um modo compatível com o Windows e macOS, no qual File.txt e file.txt são considerados o mesmo arquivo. Essa configuração afeta arquivos, pastas, branches e marcações.
Essa configuração impede que os colaboradores introduzam diferenças em termos de maiúsculas e minúsculas. Essa configuração evita conflitos de diferenciação de maiúsculas e minúsculas bloqueando pushes que alterem o uso de maiúsculas e minúsculas em arquivos, pastas, branches e marcas. O usuário precisa reescrever seu histórico não enviado por push para corrigir o problema e, em seguida, tentar o push novamente.
Essa configuração não corrigirá repositórios que já contenham objetos que diferem apenas no uso de maiúsculas e minúsculas. É melhor corrigir esses problemas antes de ativar a política. Renomeie os arquivos e pastas ou recrie branches e marcas para usar nomes não conflitantes .
Política de imposição de regra para maiúsculas e minúsculas:
- SelecioneConfigurações de Projeto>Repositórios e selecione um repositório se desejar configurá-lo.
- Na guia Políticas da página Todos os Repositórios ou <Nome do Repositório>, em Políticas de Repositório, defina Imposição de maiúsculas e minúsculas como Ativada ou Desativada.
Política de nomes reservados
Nem todos os nomes de arquivo são permitidos nos sistemas de arquivos dos três principais sistemas operacionais: Windows, macOS e Linux. As confirmações em um repositório compartilhado podem conter nomes de arquivos ou pastas inválidos em uma ou mais plataformas. Se arquivos ou pastas inválidos forem buscados e for feito seu check-out nessas plataformas, os diretórios de trabalho poderão ficar corrompidos. Para obter mais informações, confira Compatibilidade Multiplataforma do Git.
Você pode habilitar ou desabilitar políticas para impor restrições em nomes de arquivos e pastas. A configuração Nomes reservados bloqueia os pushes a um repositório que contenha nomes inválidos de arquivos ou pastas em todas as plataformas. Para ver quais nomes são inválidos, consulte Compatibilidade Multiplataforma do Git.
Para definir a política de nomes reservados:
- SelecioneConfigurações de Projeto>Repositórios, e depois selecione um repositório se desejar configurar somente ele.
- Na guia Políticas da página Todos os Repositórios ou <Nome do Repositório>, em Políticas de Repositório, defina Nomes Reservados como Ativados ou Desativados.
Política de comprimento máximo do caminho
Nem todos os comprimentos de caminho são permitidos nos sistemas de arquivos dos três principais sistemas operacionais: Windows, macOS e Linux. As confirmações em um repositório compartilhado podem conter arquivos ou diretórios com comprimentos de caminho inválidos em uma ou mais plataformas. Se esses arquivos ou diretórios forem buscados e seu check-out for feito em uma plataforma na qual sejam inválidos, os diretórios de trabalho podem ficar corrompidos. Para obter mais informações, confira Compatibilidade Multiplataforma do Git.
A configuração Comprimento máximo do caminho bloqueia pushes que contenham arquivos ou diretórios com comprimentos de caminho inválidos em qualquer plataforma. Para ver quais comprimentos de caminho são inválidos, consulte Compatibilidade Multiplataforma do Git. Quando você habilita essa configuração, o valor máximo padrão é 248
, porque esse comprimento máximo tem 100% de suporte nas três principais plataformas.
Você pode modificar o valor máximo do caminho. Por exemplo, se você tiver apenas desenvolvedores macOS ou Linux em sua organização, poderá optar por definir um comprimento máximo do valor que seja compatível em ambas as plataformas, 1016
. Você também pode optar por definir um valor de caminho máximo mais baixo para impor as convenções de nomenclatura de diretório da sua organização.
Para definir a política de comprimento máximo do caminho:
- SelecioneConfigurações de Projeto>Repositórios, e depois selecione um repositório se desejar configurar somente ele.
- Na guia Políticas da página Todos os Repositórios ou <Nome do Repositório>, em Políticas de Repositório, defina Comprimento de caminho máximo como Ativado ou Desativado.
- Se você ativou a configuração, digite um comprimento máximo do caminho.
Política de tamanho máximo dos arquivos
Os arquivos grandes com check-in no Git permanecem no repositório indefinidamente, aumentando os tempos de clonagem e o uso do disco. Para obter orientações sobre como gerenciar arquivos grandes, consulte Gerenciar e armazenar arquivos grandes no Git.
A configuração de política de tamanho máximo dos arquivos bloqueia a entrada de arquivos maiores que um determinado tamanho no repositório. Se um push contiver um arquivo novo ou atualizado maior que o limite definido nessa configuração, o push será bloqueado. O usuário deve reescrever seu histórico não enviado para remover o arquivo grande e tentar o push novamente.
Para configurar a política de Tamanho máximo dos arquivos:
- SelecioneConfigurações de Projeto>Repositórios, e depois selecione um repositório se desejar configurar somente ele.
- Na guia Políticas da página Todos os Repositórios ou <Nome do Repositório>, em Políticas de Repositório, defina Tamanho máximo dos arquivos como Ativado ou Desativado.
- Se você ativou a configuração, selecione um tamanho máximo de arquivo.