Configurar definições e políticas do repositório do Git
Serviços de DevOps do Azure | 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 filial e repositório. Este artigo discute configurações e 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 políticas do repositório do lado do servidor. Para saber mais sobre as preferências do Git do lado do cliente, consulte Preferências e configurações do Git no Visual Studio.
As políticas de sucursais abrangem controlos específicos de sucursais.
As políticas de ramificação incluem opções como exigir uma solicitação pull, uma compilação bem-sucedida ou uma revisão de código antes que as alterações possam ser mescladas em uma ramificação. Para obter mais informações, consulte Políticas e configurações de filial.
As permissões de segurança de repositório e filial controlam as atribuições do usuário.
Essas permissões controlam quem pode ler, escrever, contribuir para receber solicitações e executar outras ações específicas. Para obter mais informações, consulte Definir permissões para um repositório.
Resumo de todas as configurações e políticas de repositório e ramificação
Você pode definir configurações e políticas para todos os repositórios em um projeto, para repositórios individuais e para ramificações de repositórios. No navegador, você define todas essas configurações e políticas por meio dos repositórios de configurações>do Project.
Nota
Você pode definir várias configurações e políticas de ramificação com a CLI do Azure usando a política az repos.
As tabelas a seguir resumem as configurações e políticas que você pode habilitar e configurar para repositórios e ramificações 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.
Definição
Predefinição
Descrição
Inativo
Inicialize novos repositórios com o nome de ramificação padrão especificado. Você pode alterar a ramificação 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 uma ramificação padrão chamada main
.
Ativado
Permita que os usuários gerenciem permissões para suas ramificações criadas em todos os novos repositórios.
Definições do repositório
A tabela a seguir resume as configurações que você pode habilitar ou configurar para cada repositório Git individual.
Definição
Predefinição
Descrição
Ativado
Permitir que os usuários criem bifurcações a partir 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 a atualização do Azure DevOps Server 2020.1 ou versão posterior.
Ativado
Lembre-se das preferências do usuário para concluir itens de trabalho com solicitações pull.
Ativado
Permitir que os usuários gerenciem permissões para as ramificações que criaram
Ativado
Habilite o Modo de votação estrito para o repositório, que requer a permissão Contribuir para votar em solicitações pull.
Ativado
Desative o acesso ao repositório, incluindo compilações e solicitações pull, mas mantenha o repositório detetável com um aviso.
Ativado
Especifique até mais cinco ramificações para participar da pesquisa de código, que, por padrão, só se aplica à ramificação padrão. Requer a extensão de Pesquisa de Código instalada e ativada.
Políticas ou opções do repositório
A tabela a seguir resume as políticas ou opções que você pode definir para todos os repositórios ou para 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
Predefinição
Descrição
Inativo
Bloqueie pushes com um e-mail de autor de confirmação que não corresponda aos padrões especificados. Essa configuração requer o Azure DevOps Server 2020.1 ou versão posterior.
Inativo
Bloqueie pushes de introduzir caminhos de arquivo que correspondam aos padrões especificados. Essa configuração requer o Azure DevOps Server 2020.1 ou versão posterior.
Inativo
Evite conflitos de diferenciação de maiúsculas e minúsculas bloqueando pushes que alteram a caixa de nome em arquivos, pastas, ramificações e tags.
Inativo
Bloqueie pushes que introduzam arquivos, pastas ou nomes de ramificações que incluam nomes reservados de plataforma ou caracteres incompatíveis.
Inativo
Bloquear pushes que introduzem caminhos que excedem o comprimento especificado.
Inativo
Bloqueie pushes que contenham arquivos novos ou atualizados maiores que o limite selecionado.
Políticas de sucursais
A tabela a seguir resume as políticas que você pode definir para personalizar uma ramificação. Para obter mais informações sobre como definir essas configurações, consulte Melhorar a qualidade do código com políticas de ramificação. Quando você define qualquer política em uma filial, as seguintes políticas são aplicadas automaticamente:
- As solicitações pull são necessárias para atualizar a ramificação.
- A ramificação não pode ser excluída.
Nota
As políticas de ramificação são aplicadas a solicitações pull com base na ramificação de destino da solicitação pull. As políticas de ramificação não devem ser definidas em ramificações temporárias que serão excluídas após uma solicitação pull. Adicionar políticas de ramificação a ramificações temporárias fará com que a exclusão automática de ramificação falhe.
Política
Predefinição
Descrição
Inativo
Requer aprovação de um número especificado de revisores em solicitações pull.
Inativo
Incentive a rastreabilidade verificando itens de trabalho vinculados em solicitações pull.
Inativo
Verifique se todos os comentários foram resolvidos em solicitações pull.
Limitar tipos de mesclagem ou Impor uma estratégia de mesclagem
Inativo
Controle o histórico de ramificações limitando os tipos disponíveis de mesclagem quando as solicitações pull forem concluídas.
Inativo
Adicione, habilite ou desabilite uma ou mais políticas para validar o código pré-mesclando e criando alterações de solicitação pull.
Inativo
Adicione, habilite ou desabilite uma ou mais políticas para exigir que outros serviços publiquem o status bem-sucedido para concluir solicitações pull.
Inativo
Adicione, habilite ou desabilite uma ou mais políticas para designar revisores de código para incluir automaticamente quando solicitações pull alterarem determinadas áreas do código.
Pré-requisitos
- Para configurar políticas, você deve ser membro do grupo de segurança Administradores de Projeto ou ter permissões de Editar políticas no nível do repositório. Para obter mais informações, consulte Definir permissões do repositório Git.
- Se você quiser usar comandos az repos, siga as etapas em Introdução à CLI do Azure DevOps.
- Para configurar políticas, você deve ser membro do grupo de segurança Administradores de Projeto ou ter permissões de Editar políticas no nível do repositório. Para obter mais informações, consulte Definir permissões do repositório Git.
Ver e editar definiçõ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 ramificações especificadas entre repositórios. Para obter informações sobre como definir políticas de filial, consulte Políticas de filial.
Nota
É 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 as configurações em mais de um nível, o sistema respeitará a configuração mais restritiva. Definir as 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, abra Repositórios de configurações>do Project no navegador da Web.
Para visualizar 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, em seguida, 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 Configurações do projeto, Repositórios e selecione seu repositório.
Para visualizar 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 os repositórios da Fabrikam:
Nome da ramificação padrão
Você pode definir um nome de ramificação 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.
Pode:
- Escolha qualquer nome de ramificação legal para usar quando um repositório for inicializado.
- Altere o nome padrão a qualquer momento para afetar todos os repositórios futuros.
- Altere o nome da ramificação padrão para qualquer repositório específico a qualquer momento.
Se você não habilitar o recurso de nome de ramificação padrão, os repositórios serão inicializados com o nome main
de ramificação padrão do Azure Repos.
Para definir um nome de ramificação 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 Nome de ramificação padrão para novos repositórios como Ativado e insira um nome de ramificação padrão.
Para definir um nome de ramificação padrão no nível do projeto:
- Na página do projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, selecione Repositórios na navegação à esquerda.
- Na guia Configurações da página Todos os repositórios, defina Nome de ramificação padrão para novos repositórios como Ativado e insira um nome de ramificação padrão.
Nota
A configuração Nome de ramificação padrão para novos repositórios requer o Azure DevOps Server 2020.1 ou versão posterior.
Gerenciamento de permissões de filial
Você pode controlar quem pode gerenciar permissões para ramificações 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 permissões para suas ramificações criadas no nível Todos os repositórios , todos os novos repositórios de projeto serão configurados para permitir que os usuários gerenciem permissões para suas ramificações criadas.
Para gerenciar essa configuração:
- Na página do projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, 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 suas ramificações criadas como Ativado ou Desativado.
Para habilitar ou desabilitar essa configuração para repositórios individuais:
- Selecione Repositórios de configurações>do projeto e, em seguida, selecione um repositório.
- Na guia Configurações da <página Nome do repositório>, defina Gerenciamento de permissões como Ativado ou Desativado.
Imagens de Gravatar
Esta definição permite ou desativa a utilização de imagens Gravatar para utilizadores fora da sua empresa.
Gravatar images é 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 Ativado ou Desativado.
Gravatar images é uma configuração de nível de projeto para Todos os repositórios.
- Na página do projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, selecione Repositórios na navegação à esquerda.
- Na guia Configurações da página Todos os repositórios, defina as imagens Gravatar como Ativado ou Desativado.
Gravatar images é uma configuração de nível de projeto para Todos os repositórios.
- Na página do projeto do Azure DevOps, selecione Configurações do projeto no canto inferior esquerdo e, em seguida, selecione Repositórios na navegação à esquerda.
- Na guia Configurações da página Todos os repositórios, defina as imagens Gravatar como Ativado ou Desativado.
Ativar bifurcações
Essa configuração de repositório controla se os usuários podem criar novas bifurcações do lado do servidor. A desativação dessa configuração não remove as bifurcações existentes.
- Em Configurações do projeto, 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 On ou Off.
Configurações de vinculação de item de trabalho
Essas configurações do repositório gerenciam a vinculação de itens de trabalho.
- Selecione Repositórios de configurações>do projeto e, em seguida, selecione um repositório.
- Na guia Configurações da <página Nome do repositório>, ative ou desative as configurações.
Vincular menção de confirmação
Quando habilitada, as mensagens de confirmação contendo #
seguidas por uma ID de item de trabalho válida vinculam automaticamente a confirmação a esse item de trabalho. Desative 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 aos IDs de item de trabalho na conta atual.
Confirmar menção: resolução de item de trabalho
Habilite essa configuração para concluir automaticamente os itens de trabalho quando as solicitações 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 pull. Para obter mais informações, consulte Preenchimento automático de itens de trabalho com solicitações pull.
Confirmar menção: resolução de item de trabalho
Habilite essa configuração para concluir automaticamente esses itens de trabalho quando concluir com êxito a RP. Para obter mais informações, consulte Preenchimento automático de itens de trabalho com solicitações pull.
Preferências de transição de item de trabalho
Por padrão, a opção para concluir itens de trabalho vinculados durante a conclusão da solicitação pull lembra a última opção de cada usuário. As equipes que desejam desencorajar os usuários de concluir itens de trabalho com suas solicitações pull podem desabilitar essa configuração. Os usuários devem então optar por concluir itens de trabalho cada vez que concluírem uma solicitação pull.
Configuração estrita do Modo de Votação
Em determinadas situações, os usuários que não são contribuintes para um repositório podem enviar uma solicitação 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 pull do repositório para o Contribute. Habilitar essa configuração é recomendado se você depender de bifurcações de usuário no Azure Repos.
- Selecione Repositórios de configurações>do projeto e, em seguida, selecione um repositório.
- Na guia Configurações da <página Nome do repositório>, defina Modo de votação estrito como Ativado ou Desativado.
Desativar configuração do repositório
Habilitar essa configuração desabilita o acesso ao repositório, incluindo compilações e solicitações pull, mas mantém o repositório detetável com um aviso.
- Selecione Repositórios de configurações>do projeto e, em seguida, selecione um repositório.
- Na guia Configurações da <página Nome do repositório>, em Desativar repositório, defina Desabilitar repositório como Ativado ou Desativado.
Configuração de ramificações pesquisáveis
Por padrão, a pesquisa de código em arquivos se aplica apenas à ramificação padrão. Você pode adicionar até mais cinco ramificações para pesquisar.
Importante
Para pesquisar código em repositórios, você deve instalar a extensão Marketplace Code Search . Se você não vir Ramificações pesquisáveis na guia Configurações do repositório, verifique se a extensão está instalada.
Para adicionar ramificações para pesquisa de código:
- Selecione Repositórios de configurações>do projeto e, em seguida, selecione um repositório.
- Na guia Configurações da página Nome do <repositório>, selecione o + em Ramois pesquisáveis.
- Selecione uma ramificação para incluir na pesquisa e, em seguida, selecione Adicionar ramificação.
Políticas de ramificação de recompra cruzada
Você pode definir políticas em um nome de ramificação específico, ou na ramificação padrão, em todos os repositórios de um projeto. Por exemplo, você pode exigir dois revisores mínimos para todas as solicitações pull em cada main
ramificação para todos os repositórios de projeto.
Para definir políticas para proteger nomes de ramificações específicos ou padrão em um projeto:
Em Configurações do projeto, 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 em Políticas de filial na parte inferior da página.
Na tela Adicionar proteção de ramificação, selecione Proteger a ramificação padrão de cada repositório ou Proteger ramificações atuais e futuras que correspondam a um padrão especificado.
Se você selecionar a segunda opção, digite o nome da ramificação a ser protegida. Uma mensagem informativa informa quantas ramificações atuais foram afetadas. A ramificação ainda não precisa existir para proteger o nome da filial.
Selecione Criar.
Na página Políticas entre repositórios para <nome> de filial, defina as políticas desejadas para as ramificações protegidas. Para obter mais informações sobre políticas de filial, consulte Políticas de filial.
Política de validação de e-mail do autor de confirmação
Esta política bloqueia confirmações em um repositório por autores de confirmação cujos endereços de e-mail não correspondem a um padrão.
Selecione Repositórios de configurações>do projeto 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 do repositório, defina Confirmar validação de e-mail do autor como Ativado ou Desativado.
Se você ativar a política, especifique o endereço ou endereços de e-mail correspondentes.
Você pode especificar endereços de e-mail exatos ou usar curingas. Use
;
como um separador para vários padrões de e-mail. Os padrões de e-mail prefixados com!
são excluídos. A ordem é importante.
Política de validação de caminho de arquivo
Você pode definir uma política que impeça confirmações em um repositório a partir de caminhos de arquivo que correspondam a um padrão.
Selecione Repositórios de configurações>do projeto 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 do repositório, defina Validação do caminho do arquivo como Ativado ou Desativado.
Se você ativar a política, especifique o caminho ou 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 um separador. Os caminhos prefixados com!
são excluídos. A ordem é importante.
Política de aplicação de processos
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 usam como padrão 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 arquivos, pastas, ramificações ou tags que diferem apenas por maiúsculas e minúsculas. Para obter mais informações, consulte Compatibilidade entre plataformas do Git.
Se a maioria dos seus colaboradores estiver no Windows ou macOS, é melhor ativar a política de aplicação de casos. A imposição de maiúsculas e minúsculas muda o servidor de seu modo padrão que diferencia maiúsculas de minúsculas, onde File.txt e file.txt são distintos, para um modo compatível com Windows e macOS, onde File.txt e file.txt são considerados o mesmo arquivo. Essa configuração afeta arquivos, pastas, ramificações e tags.
Essa configuração impede que os colaboradores introduzam diferenças somente de maiúsculas e minúsculas. A configuração evita conflitos de diferenciação de maiúsculas e minúsculas bloqueando pushes que alteram a caixa de nome em arquivos, pastas, ramificações e tags. O usuário tem que reescrever seu histórico não enviado 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 apenas por maiúsculas e minúsculas. É melhor corrigir esses problemas antes de ativar a política. Renomeie arquivos e pastas ou recrie ramificações e tags para usar nomes não conflitantes.
Para definir a política de aplicação de casos:
- Selecione Repositórios de configurações>do projeto 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 do repositório, defina Imposição de maiúsculas e minúsculas como Ativado ou Desativado.
Política de nomes reservados
Nem todos os nomes de arquivos são permitidos nos três principais sistemas de arquivos do sistema operacional: 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 verificados nessas plataformas, os diretórios de trabalho podem ficar corrompidos. Para obter mais informações, consulte Compatibilidade entre plataformas do Git.
Você pode habilitar ou desabilitar políticas para colocar restrições em nomes de arquivos e pastas. Os blocos de configuração Nomes reservados são enviados por push para um repositório que contém nomes de arquivos ou pastas inválidos em todas as plataformas. Para ver quais nomes são inválidos, consulte Compatibilidade entre plataformas do Git.
Para definir a política de nomes reservados:
- Selecione Repositórios de configurações>do projeto 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 do repositório, defina Nomes reservados como Ativado ou Desativado.
Política de comprimento máximo 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. 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 verificados em uma plataforma onde são inválidos, os diretórios de trabalho podem ficar corrompidos. Para obter mais informações, consulte Compatibilidade entre plataformas do Git.
A configuração 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 Compatibilidade entre plataformas do Git. Quando você habilita essa configuração, o valor máximo padrão é 248
, porque esse comprimento máximo é 100% suportado em todas as três plataformas principais.
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 suportado 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:
- Selecione Repositórios de configurações>do projeto 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 do repositório, defina Comprimento máximo do caminho como Ativado ou Desativado.
- Se você ativou a configuração, insira um comprimento máximo do caminho.
Política de tamanho máximo de arquivo
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ção sobre como gerenciar arquivos grandes, consulte Gerenciar e armazenar arquivos grandes no Git.
A configuração da política Tamanho máximo de arquivo impede que arquivos acima de um determinado tamanho entrem 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 enviado para remover o arquivo grande e tentar o push novamente.
Para configurar a política de tamanho máximo de arquivo:
- Selecione Repositórios de configurações>do projeto 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 Tamanho máximo do arquivo como Ativado ou Desativado.
- Se você ativou a configuração, selecione um tamanho máximo de arquivo.