Manual de Boas Práticas para o uso do Git e Git-Flow em projetos realizados pelas equipes da Bitzen.
Git-Flow é uma estratégia de branching para Git que ajuda a simplificar o gerenciamento de publicações e correções, isolando o código em tipos diferentes de branches.
Existem 6 tipos de branches diferentes que complementam o fluxo da ferramenta, sendo elas:
-
- Nota: A branch "main" também pode ser nomeada como "master".
- O propósito da branch "main" é conter todo código pronto para produção, revisado e que pode ser lançado.
-
- A branch "develop" é criada no início do projeto e mantida ao decorrer do processo de desenvolvimento do software.
- Seu propósito é conter código pré-produção com novas funcionalidades que estão em processo de teste.
-
- A branch "feature" é a mais comum no fluxo do Git-Flow. É usada para adicionar novas funcionalidades ao código.
- Quando criada, ela se baseia no estado atual da branch "develop"
- Ao finalizar, é feito o merge automaticamente com a branch "develop" e a branch "feature" é deletada.
-
- A branch "bugfix" é utilizada para corrigir erros e bugs do software.
- Quando criada, ela se baseia no estado atual da branch "develop", portanto, não deve ser utilizada para bugs emergênciais em produção.
-
- A branch "release" deve ser usada apenas em preparação para novas publicações em produção. Ela é baseada no estado atual da "develop".
- Tipicamente, ela conterá código de toques finais e correções menores especificamente para o código em lançamento.
- Também é gerada uma tag única contendo a versão do software. A tag deve ser enviada ao repositório para controle de releases.
-
- A branch "hotfix" é usada para atacar rapidamente mudanças necessárias na branch "main".
- Seu propósito é conter código com prioridade alta o suficiente para burlar a relase e ir direto para produção. Exemplo: Mudanças emergenciais, breaking-bugs em produção.
- Desenvolvimentos e Melhorias: Features
- Correções de bugs: Bugfixes
- Publicações em produção: Releases
- Correções de bugs em produção: Hotfixes
- Pull Requests: Como e quando usar?
- Organização e manutenção do repositório
Agradecemos às seguintes pessoas que contribuíram para este manual:
Renan Lima |