O Git oferece estratégias de ramificação flexíveis, mas o que isso significa? Em palavras simples, uma estratégia de ramificação é um conjunto de regras, uma convenção que ajuda equipes e desenvolvedores – eles podem seguir essas regras e convenções para criar uma nova ramificação, seu fluxo, etc.
Não usar convenções de nomenclatura apropriadas gera confusão e complica a equipe de manutenção de código. Não podemos ignorar as práticas recomendadas do Git em convenções de nomenclatura de ramificação.
As estratégias de ramificação do Git permitem a separação do trabalho. De maneira geral, podemos dividir os branches do Git em duas categorias:Branches Regulares e Temporários.
Ramos Git regulares
Essas ramificações estarão disponíveis em seu repositório em bases permanentes. Sua convenção de nomenclatura é simples e direta.
- Desenvolvimento (dev ) é o principal ramo de desenvolvimento. A ideia do dev branch é fazer alterações nele e restringir os desenvolvedores de fazer qualquer alteração diretamente no branch master. As alterações no branch dev passam por revisões e, após o teste, são mescladas com o branch master.
- Mestre (mestre ) é o branch padrão disponível no repositório Git. Deve ser estável o tempo todo e não permitirá nenhum check-in direto. Você só pode mesclá-lo após a revisão do código. Todos os membros da equipe são responsáveis por manter o master estável e atualizado.
- QA (QA ), ou ramificação de teste, contém todo o código para testes de controle de qualidade e testes de automação de todas as alterações implementadas. Antes que qualquer alteração vá para o ambiente de produção, ela deve passar pelo teste de controle de qualidade para obter uma base de código estável.
Ramos temporários do Git
Como o nome indica, essas são as ramificações que podem ser criadas e excluídas quando necessário. Eles podem ser os seguintes:
- Correção de bug
- Hot Fix
- Ramos de recursos
- Ramos experimentais
- filiais WIP
Existem muitos formatos e convenções de nomenclatura recomendados por especialistas para ramificações temporárias.
Aqui está um fluxo de trabalho simples de ramificações do Git.
Convenção de nomenclatura de ramificação do Git
Neste artigo, revisarei e compartilharei as sete melhores convenções de nomenclatura que usei pessoalmente no passado para garantir sua eficiência.
1. Inicie o nome da ramificação com uma palavra de grupo
É uma das melhores práticas. A palavra do grupo pode ser qualquer coisa para corresponder ao seu fluxo de trabalho.
Eu gosto de palavras curtas como as seguintes:
Erro – O bug que precisa ser corrigido em breve
WIP – O trabalho está em andamento, e estou ciente de que não terminará em breve
Observando o nome da ramificação, você pode entender do que se trata essa ramificação do Git e sua finalidade.
Dê uma olhada nos exemplos abaixo:
- bug-logo-alignment-issue – o desenvolvedor está tentando corrigir o problema de alinhamento do logotipo;
- wip-ioc-container-added – a ramificação está relacionada à tarefa de adicionar um contêiner IoC em andamento.
2. Use o ID exclusivo em nomes de ramificações
Você pode usar o ID do rastreador de problemas no nome do seu branch. Eu prefiro esse método quando trabalho na correção de alguns bugs. Por exemplo:
wip-8712-add-testing-module
O nome mostra que a ramificação se aplica à tarefa de adicionar um módulo de teste, o ID de rastreamento do problema é 8712 e o trabalho está em andamento.
Mais uma vantagem de usar um ID de rastreamento externo no nome da filial é a possibilidade de rastrear o progresso de um sistema externo.
3. Use hífen ou barra como separadores
Muitos desenvolvedores usam barra como separador e muitos usam hífens. Qual usar – depende de você e das preferências de sua equipe.
Minha opinião é que os hífens tornam o nome mais confortável de ler, por isso é um separador adequado nos nomes dos ramos. Você pode usar barras, hífens e sublinhados. O importante é ser consistente.
Há duas vantagens principais de usar um separador no nome da ramificação:
- Aumenta a legibilidade e ajuda a evitar confusão;
- Facilita o gerenciamento, especialmente se você estiver lidando com muitas ramificações.
Exemplo 1. Nome do branch Git sem qualquer separador:
atualização de recursojqueryversãologinmodule
Exemplo 2. Ao adicionar um separador (neste caso, é um sublinhado), você torna o nome do branch Git legível:
feature_upgrade_jquery_version_login_module
4. Git Branch com nome do autor
Muitas empresas preferem adicionar os nomes dos autores aos nomes das filiais de acordo com o formato abaixo:
<author>_<branch-type>_<branch-name>
Por exemplo, rajeev.bera_feature_new-experimental-changes
Esse método permite o fácil rastreamento do trabalho e progresso de diferentes desenvolvedores com sistemas adicionais.
5. Evite usar apenas números
Alguns desenvolvedores usam apenas o ID do problema no nome da ramificação, o que não ajuda no andamento do trabalho.
Por exemplo, há um nome de filial 9912 – o que esse número mágico deve nos dizer? Isso significa apenas mais confusão e risco de erros, especialmente durante a fusão com outras ramificações do git.
6. Evite usar todas as convenções de nomenclatura simultaneamente
Misturar e combinar todas as convenções de nomenclatura de ramificações do Git não é a melhor prática. Isso só aumenta a confusão e complica os processos gerais.
Uma equipe deve decidir as convenções de nomenclatura a serem usadas no trabalho uma vez e cumpri-las. A consistência é a coisa mais crítica.
7. Evite nomes descritivos longos para branches de longa duração
A qualidade essencial de um nome de filial é que ele deve ser preciso e informativo. Vejamos novamente alguns exemplos:
wip_login_module_which_will_used_in_the_public_website
wip_login_module_which_will_used_in_the_internal_website
Lá, os nomes das ramificações são longos e detalhados. Não é necessário. Em vez disso, você pode usar a seguinte variante:
wip_feature_login_module
Este nome é curto, mas explica o propósito deste ramo.
Conclusão
O modelo de ramificação do Git é poderoso, mas você precisa gerenciar as ramificações de maneira correta e eficaz. Um dos fatores necessários é seguir as mesmas convenções por todas as equipes, particularmente – as convenções de nomenclatura para o repositório local.
Para garantir que sua equipe esteja usando as convenções acordadas, aplique os padrões. Uma das maneiras mais fáceis é usar ganchos do Git, como o gancho de pré-commit. Espero que lhe dê uma ideia sobre os modelos de ramificação do Git e sua convenção de nomenclatura.