Fluxos de Trabalho Colaborativos
Estratégias de Ramificação
A colaboração eficaz requer abordagens estruturadas de ramificação que permitam o desenvolvimento paralelo e minimizem conflitos.
Modelos de Ramificação
Tipo de Ramificação |
Finalidade |
Ramificação Principal |
Código de produção estável |
Ramificação de Funcionalidade |
Desenvolver novos recursos |
Ramificação de Correção |
Correções urgentes de produção |
Ramificação de Lançamento |
Preparar lançamentos de versões |
Visualização do Fluxo de Trabalho Colaborativo
graph TD
A[Ramificação Principal] -->|Criar| B[Ramificação de Funcionalidade]
B -->|Desenvolver| C[Commitar Alterações]
C -->|Solicitação de Pull| D[Revisão de Código]
D -->|Aprovar| E[Mesclar na Principal]
Criando Ramificações de Funcionalidade
## Criar e mudar para a ramificação de funcionalidade
git checkout -b feature/autenticação-usuário
## Trabalhar na funcionalidade
git add .
git commit -m "Implementar autenticação de usuário"
## Empurrar a ramificação de funcionalidade
git push -u origin feature/autenticação-usuário
Fluxo de Trabalho de Solicitação de Pull
## Empurrar a ramificação de funcionalidade para o remoto
git push origin feature/autenticação-usuário
## Abrir solicitação de pull na plataforma
## Revisores examinam as mudanças no código
Resolução de Conflitos
## Buscar as últimas mudanças
git fetch origin
## Mesclar a principal na ramificação de funcionalidade
git merge origin/main
## Resolver conflitos manualmente
## Editar arquivos conflitantes
git add arquivo_resolvido.txt
git commit -m "Resolver conflitos de mesclagem"
Estratégias de Mesclagem
Tipos de Mesclagem
Estratégia |
Descrição |
Avanço Rápido |
Histórico linear |
Recursivo |
Mesclagem complexa de ramos |
Squash |
Combinar commits |
Exemplos de Comando de Mesclagem
## Mesclagem padrão
git merge ramificação_funcional
## Mesclagem Squash
git merge --squash ramificação_funcional
## Mesclagem Rebase
git rebase principal
Boas Práticas de Revisão de Código
## Revisar as mudanças antes de mesclar
git diff main...ramificação_funcional
## Verificar o histórico de commits
git log main..ramificação_funcional