Skip to main content

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

  1. Puxe sua branch de trabalho a partir da branch main, essa será sua branch de trabalho;
  2. Desenvolva o que precisar ser desenvolvido nesta branch;
  3. 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)

Git Flow simples

  1. 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

Git flow com conflito

  1. 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;