Exigir que ramificações sejam criadas em pastas
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Quando você tem muitas pessoas colaborando em um repositório, o número e os nomes das filiais podem rapidamente sair do controle.
As pastas hierárquicas são uma maneira eficaz de domar o caos.
Os Serviços de DevOps do Azure, o TFS e o Visual Studio tratam /
como um separador de pastas e recolhem automaticamente as pastas por padrão.
Desta forma, não tem de percorrer todos os ramos para encontrar o que procura.
Você também não precisa confiar em todos para acertar.
O Azure Repos e o TFS podem impor o uso correto de pastas de filial.
Planeamento
Decida a estrutura de pastas que deseja permitir. Como exemplo, definiremos nosso repositório para aplicar as seguintes regras:
- Só
main
pode existir na raiz do repositório. - Todos os usuários terão permissão para criar ramificações sob as
feature/
pastas eusers/
. - Os administradores poderão criar ramificações na
release/
pasta.
Nota
Para obter mais exemplos e informações sobre estratégias de nomeação de ramificação, consulte Adotar uma estratégia de ramificação Git.
Preparação
- Você precisará do comando de controle de versão do Team Foundation (
tf.exe
). - Você precisará da URL da sua conta ou coleção, do nome do projeto e do nome do repositório. Para este exemplo, usaremos
https://fabrikam-fiber.visualstudio.com
,FabrikamProject
eFabrikamRepo
.
Nota
O comando tf.exe
é instalado por padrão com o Visual Studio.
Você pode acessá-lo através do prompt de comando do desenvolvedor.
Para opções adicionais, baixe o Team Explorer.
Impor permissões
Execute os seguintes comandos no prompt de comando do desenvolvedor, em Iniciar>o prompt de comando do desenvolvedor do Visual Studio.> Cada comando é precedido de uma explicação do que está fazendo. Se não tiver um token de acesso pessoal armazenado em cache (por exemplo, iniciando sessão no portal Web dos Serviços de DevOps do Azure), ser-lhe-á pedido para iniciar sessão.
Primeiro, bloqueie a permissão Criar ramificação 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
Em seguida, permita que os colaboradores criem ramificações em feature
e users
.
tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:feature
tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:users
Permitir que os administradores criem ramificações em release
.
tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:release
Finalmente, permita que os administradores criem uma ramificação chamada main
(caso ela seja excluída acidentalmente).
tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:main
Nota
Para obter mais informações, consulte tf git permission. Você também pode acessar a ajuda para esses comandos a partir da linha de comando executando tf git /?
e tf git permission /?
.
Renomear filiais antigas
Abra seu repositório na Web e selecione a visualização Ramos.
Localize sua filial existente. Se não o vir, poderá ter de procurar no separador Todos .
Escolha seu menu de contexto (o
...
botão) e escolha Nova ramificação.Digite o novo nome da ramificação, por exemplo , users/frank/readme-fix. Escolha Create branch (Criar ramificação).
Escolha o ícone vermelho da lixeira ao lado do nome da ramificação antiga para excluí-lo.
Nota
Quaisquer permissões personalizadas ou políticas de filial que você configurou não serão migradas.