O documento discute diferentes fluxos de trabalho no Git como Gitflow, Github Flow e Gitlab Flow. Ele também fornece boas práticas como fazer commits pequenos e frequentes, usar branches, testar antes de commitar e escrever boas mensagens de commit. O documento recomenda adotar um fluxo de trabalho consistente e usar o controle de versão para compartilhamento de código, não como sistema de backup.
5. Git Flow
● Utiliza branches master e develop
● Branch master somente para
estável
● Branch develop para
desenvolvimento
● Feature branch para nova feature
● Release branch para nova release
● Hotfix pode entrar direto no master
● Prós
○ Bem estabelecido e
padronizado
● Contras
○ Complexo de ser mantido
7. Github Flow
● Utiliza apenas branch master
● Novo branch para feature e hotfix
● Feature e hotfix fundem direto no
master
● Prós
○ Simples
○ Rápida entra para SaaS
● Contras
○ Não explica como resolver
ambiente, deployment, CI ...
9. Gitlab Flow
● Utiliza três categorias de branch
○ Ambiente
○ Produção
○ Release
● Master branch como principal
● Feature e hotfix fundem direto no
master
● Aplica cherry-pick para promoção
● Prós
○ Simples
○ Controle em produção
● Contras
○ Difícil de praticar sem gitlab
17. Escreva boas mensagens
● Título curto, corpo detalhado
● Qual é o valor desse commit?
● O que motivou a mudança?
● Em geral use tempo presente
● Regra 50-72
18. Exemplos de mensagens
commit 5426da5180f0e2b85e61d055f384d290045963f4
Author: Uilian Ries <uilianries@gmail.com>
Date: Wed Mar 14 18:12:26 2018 -0300
Preciso de óculos novos
19. Exemplos de mensagens
commit 50dca190e22ada686e48bbcf0fe6129851f4113e
Author: Uilian Ries <uilianries@gmail.com>
Date: Wed Mar 14 18:12:26 2018 -0300
#42 Ativação de gateway por número de série
- Feature consiste em ativar qualquer gateway com número de série
válido, através de código gerado pelo servidor.
- Código de ativação é formado por 6 números e expira a cada 15 min
- Para que o código seja gerado, o cadastro precisa estar pronto. Ver #22
20. Faça commit com frequência
● Alta frequência = commit pequeno
● Facilita resolução de conflitos
● Permite compartilhar com frequência
21. Não faça commit de trabalho incompleto
● Commit somente trabalho completo
● Features complexas podem ser
quebradas em blocos
● Não faça commit antes de ir pra casa
27. Conclusão
● Commit mudanças relacionadas
● Commit com frequência
● Utilize branches
● Teste antes de commitar
● Escreva mensagem de valor
● Não faça meio-commit
● SCM não é backup
● Siga um workflow