Boas práticas

Use branches de feature

Crie uma nova branch para cada feature ou correção de bug em vez de trabalhar direto na branch main.

Uma branch de feature é qualquer branch criada para desenvolver uma feature específica ou corrigir um bug em particular.

Mergeie branches de feature na main apenas quando a feature estiver completa e testada. Isso mantém seu trabalho isolado e facilita gerenciar as alterações. Com essa abordagem, a branch main sempre contém código estável, pronto para produção.


Suponha que você precise implementar a autenticação com o Facebook no aplicativo cliente.

Ruim
  1. Você começa a trabalhar na feature imediatamente, commitando as alterações direto na branch main. No fim do dia, você tem alguns commits que implementam a feature parcialmente.
  2. De repente, seu chefe liga pedindo para corrigir um bug crítico no sistema de login existente e lançar a correção imediatamente.
  3. A correção em si é trivial, mas você percebe que, se lançar agora, seu código de login com o Facebook feito pela metade também vai entrar no release. Ops!
Em equipe, fica ainda pior. Imagine todo mundo trabalhando na branch main: código pela metade, ainda em andamento, de diferentes desenvolvedores vai se misturando, e fica impossível saber o que está pronto para lançar e o que não está. O resultado: confusão, builds quebrados e tempo perdido.
Bom
  1. Você cria uma nova branch chamada feature/facebook-login (ou qualquer outro nome) e começa a trabalhar na feature ali. Você commita as alterações nessa branch, mantendo a branch main limpa e estável.
  2. Se aparecer uma correção de bug inesperada, você troca para a branch main, cria outra branch chamada bugfix/login-issue e implementa a correção ali. Depois de testada, essa branch de bugfix é mergeada na main. O release vai ao ar, todo mundo fica feliz.
  3. Você volta para a sua branch feature/facebook-login, faz um git rebase para incorporar as alterações mais recentes da main na sua branch de feature e continua trabalhando na feature. Quando a feature estiver completa, você mergeia essa branch de volta na main.