Compartilhar via


Exigir que branches sejam criados em pastas

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Quando você tem muitas pessoas colaborando em um repositório, o número e os nomes de branches podem sair do controle rapidamente. As pastas de ramificação hierárquica são uma maneira eficaz de organizar a estrutura. O Azure DevOps e o Visual Studio tratam / como separador de pastas e recolhem automaticamente pastas por padrão. Dessa forma, você não precisa examinar cada ramificação para encontrar a que está procurando. Você também não precisa contar com todos para acertar. O Azure Repos pode impor o uso correto de pastas de branch.

Planning

Decida sobre a estrutura de pastas que você deseja permitir. Por exemplo, configuramos nosso repositório para impor as seguintes regras:

  • main pode existir na raiz do repositório.
  • Todos os usuários têm permissão para criar branches nas pastas e feature/ nas users/ pastas.
  • Os administradores podem criar branches na release/ pasta.

Observação

Para obter mais exemplos e informações sobre estratégias de nomenclatura de branch, consulte Adotar uma estratégia de ramificação do Git.

Pré-requisitos

Antes de começar, verifique se você tem os seguintes itens:

Requirement Description
Ferramentas de linha de comando do Team Foundation Você precisa do comando de controle de versão do Team Foundation (tf.exe).
Informações do Azure DevOps Você precisa da URL da sua organização do Azure DevOps, do nome do projeto e do nome do repositório. Para este exemplo: https://dev.azure.com/fabrikam-fiber, FabrikamProjecte FabrikamRepo.
Permissões apropriadas Você precisa de permissões administrativas em seu projeto do Azure DevOps para modificar as permissões do repositório Git.
Autenticação Verifique se você está conectado ao Azure DevOps ou tem credenciais armazenadas em cache, o que evita prompts de autenticação durante a execução do comando.

Observação

O comando tf.exe é instalado por padrão com o Visual Studio. Você pode acessá-lo por meio do Prompt de Comando do Desenvolvedor. Para obter mais opções, baixe o Team Explorer.

Impor permissões

Execute os comandos a seguir no Prompt de Comando do Desenvolvedor, em Iniciar>o Prompt de Comando do Desenvolvedor>. Cada comando inclui uma explicação do que está fazendo. Se você não tiver um token armazenado em cache, por exemplo, entrando no portal da Web do Azure DevOps Services, será solicitado que você entre.

  1. Bloqueie a permissão Criar Branch na raiz do repositório para os colaboradores do projeto:
tf git permission /deny:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo
  1. Permitir que os colaboradores criem branches em feature : a users. Característica:

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

    b. Usuários:

    tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:users
    
  2. Permitir que os administradores criem branches em release:

tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:release
  1. Permitir que os administradores criem um branch chamado main, caso ele seja excluído acidentalmente.
tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:main

Observação

Para obter mais informações, consulte a permissão tf git. Você também pode acessar a ajuda para esses comandos na linha de comando executando tf git /? e tf git permission /?.

Renomear branches antigos

  1. Abra o repositório na Web e selecione o modo de exibição Branches.

  2. Localize seu branch existente. Se você não vê-lo, talvez seja necessário olhar na guia Todos .

  3. Escolha seu menu de contexto (o ... botão) e escolha Novo branch.

    Criar menu de ramificação

  4. Digite o novo nome do branch, por exemplo , usuários/frank/readme-fix. Escolha Criar branch.

    Criar um novo branch

  5. Escolha o ícone de lixeira vermelho ao lado do nome do branch antigo para excluí-lo.

    Excluir ramificação antiga

Observação

As permissões personalizadas ou as políticas de branch não são migradas.