Ir para o conteúdo principal

Git

Estrutura de branchs padrão

Nosso ambiente GIT possuem 3 branchs com nomes fixados: production, staging e development.

Branchs fixadas são protegidas, aceitando apenas merge requests para alteração.

Production

A branch production deve ser tratada como the single source of truth, ou seja, ela representa exatamento o que está em produção. É dela que devem sair todas as branches de desenvolvimento.

Staging

A branch staging representa o ambiente de treinamento/review do produto, em cenário ideal, esta branch sempre será igual a production.

Development

A branch development é a branch onde o time de desenvolvimento mantem as novas features desenvolvidas na sprint. Esta branch corresponde ao ambiente de desenvolvimento, onde tanto POs quanto ao time de desenvolvimento, validam as histórias correspondente a sprint.

HotFix

Correções urgentes podem ser mescladas a branchs principais, como staging e production, mas devem seguir algumas regras para isso:

Branchs hotfix devem iniciar com o prefixo 'hotfix-*', seguindo esse padrão de nomenclatura, podemos controlar melhor nossa estrutura de esteira, permitindo que o passo do SonarQube seja executado no momento do Merge Request.

Branchs que não seguem esse padrão, automaticamente serão recusadas pela esteira.

O que não fazer

  • Desenvolver direto em development.
  • Subir código quebrado para as branchs padrão. Lembre-se que outros utilizarão!
  • Alterar a nomenclatura das branchs padrão!
  • Alterar a configuração de branchs do GIT para permitir PUSH direto!
  • Aceitar o próprio merge requests. Eu sei que é difícil, mas vamos deixar os outros darem uma olhada no nosso código!