Git Flow
Neste capítulo vamos abordar o fluxo de git. Aqui na RD Station trabalhamos com o GitFlow, que utiliza de ferramentas como o GitHub para auxiliar o fluxo.
Lembrando que staging deve ser um espelho de main, ou produção, para que os desenvolvimentos sejam testados em um ambiente que reproduz o que será encontrado em produção.
- Main: deve ter apenas features testadas e aprovadas
- Staging: deve ser um espelho da master, exceto pelas features que estiverem em processo de testes/validação.
warning
Staging NUNCA deve chegar ao histórico da Main
O passo a passo do git flow
- Puxe sua branch de trabalho a partir da branch main, essa será sua branch de trabalho;
- Desenvolva o que precisar ser desenvolvido nesta branch;
- Abra a PR da sua branch de trabalho para a branch staging e veja a situação para o merge;
Fluxo padrão (quando não há conflitos)

- Se NÃO houver conflitos siga os passos abaixo:
- Complete o merge para staging;
- Valide a implementação com os responsáveis;
- Uma vez validado abra um novo PR da sua branch de trabalho para a branch main;
Fluxo de resolução de Conflitos

- Se houver conflitos siga os passos abaixo:
- A partir da sua branch de trabalho crie uma nova branch para resolver o conflito, esta será sua branch de conflito;
- Na sua branch de conflito faça o pull atualizado da branch staging:
git fetch
git pull origin staging- No editor de sua preferência resolva os conflitos apresentados;
- Conclua o commit desse pull/merge;
- Abra uma PR a partir da sua branch de conflito para a branch de staging
- Uma vez feito o merge você pode deletar/abandonar esta branch de conflito, qualquer novo código deve ser feito na sua branch de trabalho.
- Valide a implementação em staging com os responsáveis;
- Uma vez validado abra um novo PR da sua branch de trabalho para a branch main;