Definir as configurações e políticas do repositório Git
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server | 2019 TFS 2018
Há várias maneiras de personalizar seus repositórios git 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 as políticas do repositório configuram opções globais para todos os repositórios Git para um projeto ou organização ou para repositórios individuais.
Este artigo discute as configurações e políticas do repositório do lado do servidor. Para saber mais sobre as preferências do Git do lado do cliente, consulte as preferências e configurações do Git em 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 se mesclar em um branch. Para obter mais informações, consulte políticas e configurações do Branch.
As permissões de segurança de repositório e branch controlam atribuições de usuário.
Essas permissões controlam quem pode ler, gravar, contribuir para solicitações de pull e executar outras ações específicas. Para obter mais informações, consulte Definir permissões para um repositório.
Observação
O recurso documentado neste artigo requer a versão 2 ou posterior do TFS 2018.
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 em 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 de Project settingsRepositories>.
Observação
Você pode definir várias configurações e políticas de branch com a CLI do Azure usando a política de az repos.
As tabelas a seguir resumem as configurações e as políticas que você pode habilitar e configurar para repositórios e branches do Git.
Todos os repositórios Configurações
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 especificado. Você pode alterar o branch padrão para um repositório específico a qualquer momento. Se você não habilitar esse recurso, os repositórios serão inicializados 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
Habilita ou desabilita o uso de imagens gravatar para usuários fora da sua empresa. Essa configuração se aplica a todos os repositórios no projeto.
Ativado
Permitir que os usuários criem bifurcações do repositório.
Ativado
Crie automaticamente links para itens de trabalho mencionados em um comentário de confirmação.
Ativado
Permitir menções em comentários de confirmação para fechar itens de trabalho. Requer Azure DevOps Server atualização 2020.1 ou versão posterior.
Ativado
Lembre-se das 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 criaram
Ativado
Habilite o Modo de Votação Estrito para o repositório, que requer permissão do Contribute para votar em solicitações pull.
Ativado
Desabilite o acesso ao repositório, incluindo builds e solicitações de pull, mas mantenha o repositório detectável com um aviso.
Ativado
Especifique mais cinco branches para participar da pesquisa de código, que por padrão só se aplica ao branch padrão. Requer a extensão pesquisa de código instalada e habilitada.
Opções ou políticas de repositório
A tabela a seguir resume as políticas ou as opções que você pode definir para todos ou repositórios individuais. As políticas definidas para todos os repositórios definem o padrão para repositórios individuais adicionados posteriormente.
Política ou opção
Default
Descrição
Desativado
Bloqueie pushes com um email de autor de confirmação que não corresponda aos padrões especificados. Essa configuração requer Azure DevOps Server versão 2020.1 ou posterior.
Desativado
Bloqueie a introdução de caminhos de arquivo que correspondam aos padrões especificados. Essa configuração requer Azure DevOps Server versão 2020.1 ou posterior.
Desativado
Evite conflitos de confidencialidade de maiúsculas e minúsculas bloqueando pushes que alteram 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 incluem nomes reservados da plataforma ou caracteres incompatíveis.
Desativado
Bloquear pushes que introduzem caminhos que excedem o comprimento especificado.
Desativado
Bloqueie pushs que contenham arquivos novos ou atualizados maiores que o limite selecionado.
Políticas de ramificação
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 Aprimorar 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:
- Solicitações pull são necessárias para atualizar o branch.
- O branch não pode ser excluído.
Política
Default
Descrição
Desativado
Exigir aprovação de um número especificado de revisores em solicitações de pull.
Desativado
Incentive a rastreabilidade verificando itens de trabalho vinculados em solicitações de pull.
Desativado
Verifique se todos os comentários foram resolvidos em solicitações de pull.
Desativado
Controlar o histórico do branch limitando os tipos disponíveis de mesclagem quando as solicitações de pull forem concluídas.
Desativado
Adicione, habilite ou desabilite uma ou mais políticas para validar o código, mesclando e criando alterações de solicitação de pull.
Desativado
Adicione, habilite ou desabilite uma ou mais políticas para exigir que outros serviços postem o status bem-sucedido para concluir solicitações de pull.
Desativado
Adicione, habilite ou desabilite uma ou mais políticas para designar revisores de código para incluir automaticamente quando solicitações de pull alterarem determinadas áreas de código.
Pré-requisitos
- Para configurar políticas, 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 saber mais, consulte Definir permissões de repositório Git.
- Se você quiser usar comandos az repos, siga as etapas em Introdução com Azure DevOps CLI.
- Para configurar políticas, 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 saber mais, consulte Definir permissões de repositório Git.
Exibir e editar configurações e políticas
Você pode definir configurações para todos os repositórios em 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 repositórios. Para obter informações sobre como definir políticas de branch, consulte as políticas do Branch.
Observação
É melhor definir as configurações do repositório no nível do projeto ou para repositórios individuais, mas não ambos. Se você definir configurações em mais de um nível, o sistema honrará a configuração mais restritiva. Configurar configurações em apenas um nível reduz a confusão e problemas de desempenho do Git.
Para definir as configurações e as políticas do repositório por meio do portal da Web, abra Project settingsRepositories > do 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 escolha 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 políticas para todos os repositórios Git ou para um repositório individual.
No navegador da Web, abra o projeto e escolha Project configurações, repositórios e selecione seu repositório.
Para exibir e configurar 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 os repositórios fabrikam:
No navegador da Web, abra o projeto e escolha o ícone de engrenagem, Controle de Versão e selecione seu repositório.
Selecione Opções para exibir e definir as configurações do repositório.
Nome padrão do branch
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 para todos os novos repositórios em 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:
- Escolha qualquer nome de branch legal a ser usado quando um repositório for inicializado.
- Altere o nome padrão a qualquer momento para afetar todos os repositórios futuros.
- Altere o nome do branch padrão para qualquer 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 Azure Repos nome main
de branch padrão.
Para definir um nome de branch padrão no nível da organização:
- Na página Azure DevOps organização, selecione as configurações da organização no canto inferior esquerdo e selecione Repositórios na navegação à esquerda.
- Na página Todos os Repositórios , defina o nome do branch padrão para novos repositórios como On e insira um nome de branch padrão.
Para definir um nome de branch padrão no nível do projeto:
- Na página do projeto Azure DevOps, selecione Project configurações no canto inferior esquerdo e selecione Repositórios na navegação à esquerda.
- Na guia Configurações da página Todos os Repositórios, defina o nome do branch padrão para novos repositórios como Ativado e insira um nome de branch padrão.
Observação
O nome do branch padrão para a nova configuração de repositórios requer Azure DevOps Server 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ê permitir que os usuários gerenciem permissões para a configuração de branches criados no nível de Todos os Repositórios , todos os novos repositórios de projeto serão configurados para permitir que os usuários gerenciem permissões para seus branches criados.
Para gerenciar essa configuração:
- Na página do projeto Azure DevOps, selecione Project configurações no canto inferior esquerdo e selecione Repositórios na navegação à esquerda.
- Na guia Configurações da página Todos os Repositórios, defina Permitir que os usuários gerenciem permissões para seus branches criados como Ativado ou Desativado.
Para habilitar ou desabilitar essa configuração para repositórios individuais:
- Selecione Project Configurações>Repositórios e selecione um repositório.
- Na guia Configurações da página de nomes> do< Repositório, defina o gerenciamento de permissões como Ativado ou Desativado.
Imagens de Gravatar
Essa configuração habilita ou desabilita o uso de imagens do Gravatar para usuários fora da sua empresa.
As imagens gravatar são uma configuração no nível da organização.
- Na página Azure DevOps organização, selecione as configurações da organização no canto inferior esquerdo e 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 gravatar são uma configuração no nível do projeto para todos os repositórios.
- Na página do projeto Azure DevOps, selecione Project configurações no canto inferior esquerdo e selecione Repositórios na 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 gravatar são uma configuração no nível do projeto para todos os repositórios.
- Na página do projeto Azure DevOps, selecione Project configurações no canto inferior esquerdo e selecione Repositórios na 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 de Gravatar são uma configuração de repositório individual.
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 bifurcações existentes.
- Em Project Configurações, selecione Repositórios na 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 Forks como Ativado ou Desativado.
Configurações de vinculação de item de trabalho
Essas configurações de repositório gerenciam a vinculação de item de trabalho.
- Selecione Project Configurações>Repositórios e selecione um repositório.
- Na guia Configurações da página nome> do< Repositório, ative oudesative as configurações.
Associação de menção de confirmação
Quando habilitada, as mensagens de confirmação que #
contêm 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 usou anteriormente uma conta ou serviço diferente. Esses repositórios podem ter mensagens de confirmação com #
menções que não correspondem às IDs do item de trabalho na conta atual.
Confirmar menção de resolução de item de trabalho
Habilite essa configuração para concluir automaticamente 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ção de pull. Para obter mais informações, consulte itens de trabalho concluídos automaticamente com solicitações de pull.
Confirmar menção de resolução de item de trabalho
Habilite essa configuração para concluir automaticamente esses itens de trabalho quando você concluir com êxito a PR. Para saber mais, confira itens de trabalho completos automaticamente com solicitações de pull.
Preferências de transição de item 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. Teams que desejam desencorajar os usuários a concluir itens de trabalho com suas solicitações de pull podem desabilitar essa configuração. Em seguida, os usuários devem optar por concluir itens de trabalho sempre que concluirem uma solicitação de pull.
Configuração do Modo de Votação Estrito
Em determinadas situações, os usuários que não são colaboradores de um repositório podem enviar uma solicitação de pull e fazer com que ela seja mesclada, dependendo das políticas. Para evitar essa possibilidade, habilite o Modo de Votação Estrito para alterar a permissão necessária para votar em solicitações de pull de repositório para Contribuir. É recomendável habilitar essa configuração se você depender de bifurcações de usuário no Azure Repos.
- Selecione Project Configurações>Repositórios e selecione um repositório.
- Na guia Configurações da página nome> do< Repositório, defina o Modo de Votação Estrito 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 Project Configurações>Repositórios e 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é mais cinco branches para pesquisar.
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 repositório, certifique-se de ter a extensão instalada.
Para adicionar branches para pesquisa de código:
- Selecione Project Configurações>Repositórios e selecione um repositório.
- Na guia Configurações da página nome> do< Repositório, selecione os +branches pesquisáveis.
- Selecione uma ramificação a ser incluída na pesquisa e selecione Adicionar branch.
Observação
A configuração de branches pesquisáveis requer Azure DevOps Server versão 2020.1 ou posterior.
Políticas de branch entre repositórios
Você pode definir políticas em um nome de branch específico ou no branch padrão em todos os repositórios em um projeto. Por exemplo, você pode exigir dois revisores mínimos para todas as solicitações de pull em cada main
branch para todos os repositórios de projeto.
Para definir políticas para proteger nomes de branch específicos ou padrão em um projeto:
Em Project Configurações, selecione Repositórios na navegação à esquerda.
Na página Todos os Repositórios , selecione a guia Políticas .
Selecione o sinal + de adição 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 permite que você saiba quantos branches atuais são afetados. O branch ainda não precisa existir para proteger o nome do branch.
Selecione Criar.
Nas políticas entre repositórios para <a página de nomes> de branch, defina as políticas desejadas para os branches protegidos. Para obter mais informações sobre políticas de branch, consulte as políticas do Branch.
Confirmar política de validação de email do autor
Essa política bloqueia a confirmação em um repositório por autores de confirmação cujos endereços de email não correspondem a um padrão.
Selecione Project Configurações>Repositórios e selecione um repositório se quiser configurar apenas esse repositório.
Na guia Políticas da página Todos os Repositórios ou <nome> do repositório, em Políticas de Repositório, defina a validação de email do autor de Confirmação como Ativado ou Desativado.
Se você ativar a política, especifique o endereço de email ou os endereços a serem correspondentes.
Você pode especificar endereços de email exatos ou usar caracteres curinga. 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 que impede confirmações em um repositório de caminhos de arquivo que correspondam a um padrão.
Selecione Project Configurações>Repositórios e selecione um repositório se quiser configurar apenas esse repositório.
Na guia Políticas da página Todos os Repositórios ou <nome> do repositório, em Políticas de Repositório, defina a validação do caminho do arquivo como Ativado ou Desativado.
Se você ativar a política, especifique o caminho ou os caminhos a serem bloqueados.
Você pode especificar caminhos exatos e caracteres curinga. 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 casos
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, Windows e macOS são padrão para 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 pode causar problemas se alguém em um sistema que não diferencia maiúsculas de minúsculas enviar por push arquivos, pastas, branches ou marcas que diferem apenas por letra maiúsculas e minúsculas. Para obter mais informações, consulte a compatibilidade entre plataformas do Git.
Se a maioria dos colaboradores estiver no Windows ou macOS, é melhor habilitar a política de imposição de casos. A imposição de maiúsculas e minúsculas alterna o servidor de seu modo de diferenciação de maiúsculas e minúsculas padrão, em queFile.txt e file.txt são distintos, para um modo Windows e amigável para macOS, em queFile.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 somente maiúsculas de minúsculas. A configuração evita conflitos de confidencialidade de maiúsculas e minúsculas bloqueando pushes que alteram o uso de maiúsculas e minúsculas em arquivos, pastas, branches e marcas. O usuário precisa reescrever seu histórico sem problemas para corrigir o problema e, em seguida, tentar o push novamente.
Essa configuração não corrigirá um repositório que já contém objetos que diferem somente por caso. É melhor corrigir esses problemas antes de ativar a política. Renomeie arquivos e pastas ou recrie branches e marcas para usar nomes não conflitantes .
Para definir a política de imposição de casos:
- Selecione Project Configurações>Repositórios e selecione um repositório se quiser configurar apenas esse repositório.
- Na guia Políticas da página Todos os Repositórios ou <nome> do repositório, em Políticas de Repositório, defina a imposição de casos como Ativar ou Desativar.
Observação
A política de imposição de caso requer a versão TFS 2018.2 ou posterior.
Política de nomes reservados
Nem todos os nomes de arquivo são permitidos nos três principais sistemas de arquivos do sistema operacional: Windows, macOS e Linux. 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 verificados nessas plataformas, os diretórios de trabalho poderão ficar corrompidos. Para obter mais informações, consulte a compatibilidade entre plataformas do Git.
Você pode habilitar ou desabilitar políticas para colocar restrições em nomes de arquivos e pastas. A configuração de nomes reservados bloqueia pushes para um repositório que contém nomes de arquivo ou pasta inválidos em todas as plataformas. Para ver quais nomes são inválidos, consulte a compatibilidade entre plataformas do Git.
Para definir a política de nomes reservados:
- Selecione Project Configurações>Repositórios e selecione um repositório se desejar configurar somente esse repositório.
- 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 Ativado ou Desativado.
Política máxima de comprimento do caminho
Nem todos os comprimentos de caminho são permitidos nos três principais sistemas de arquivos do sistema operacional: Windows, macOS e Linux. 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 verificados em uma plataforma em que eles são inválidos, os diretórios de trabalho poderão ser corrompidos. Para obter mais informações, consulte a compatibilidade entre plataformas do Git.
A configuração de comprimento máximo do caminho bloqueia pushes que contêm arquivos ou diretórios com comprimentos de caminho inválidos em qualquer plataforma. Para ver quais comprimentos de caminho são inválidos, consulte a compatibilidade entre plataformas do Git. Quando você habilita essa configuração, o valor máximo padrão é 248
, porque esse comprimento máximo tem 100% de suporte em todas as 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 o comprimento máximo para o valor com suporte em ambas as plataformas 1016
. Você também pode optar por definir um valor máximo de caminho 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:
- Selecione Project Configurações>Repositórios e selecione um repositório se desejar configurar somente esse repositório.
- Na guia Políticas da página Todos os Repositórios ou <Nome> do Repositório, em Políticas de Repositório, defina o tamanho máximo do caminho como Ativado ou Desativado.
- Se você ativou a configuração, insira um comprimento máximo do caminho.
Política máxima de tamanho do arquivo
Arquivos grandes verificados no Git permanecem no repositório indefinidamente, aumentando os tempos de clone e o uso do disco. Para obter diretrizes sobre como gerenciar arquivos grandes, consulte Gerenciar e armazenar arquivos grandes no Git.
A configuração máxima da política de tamanho do arquivo bloqueia arquivos em um determinado tamanho de entrar no repositório. Se um push contiver um arquivo novo ou atualizado maior que o limite configurado nessa configuração, o push será bloqueado. O usuário deve reescrever seu histórico não esmagado para remover o arquivo grande e tentar o push novamente.
Para configurar a política de tamanho máximo do arquivo :
- Selecione Project Configurações>Repositórios e selecione um repositório se desejar configurar somente esse repositório.
- Na guia Políticas da página Todos os Repositórios ou <Nome> do Repositório, em Políticas de Repositório, defina o tamanho máximo do arquivo como Ativado ou Desativado.
- Se você ativou a configuração, selecione um tamanho máximo do arquivo.
Observação
A política de tamanho máximo do arquivo requer TFS 2018.2 ou posterior.