Mesclando Branches
Deslize para mostrar o menu
Compreendendo a Mesclagem de Branches
No Git, mesclar é o processo de integrar alterações de uma branch em outra. O caso de uso mais comum é mesclar branches de feature na branch main (por exemplo, main ou master). Isso garante que os recursos mais recentes e correções de bugs sejam incorporados ao código principal.
Fluxo Básico de Mesclagem
Primeiro, visualize os dois commits mais recentes.
Lembre-se, você está atualmente na branch feature/new-feature.
git log -n 2
Como você pode ver, o branch master está um commit atrás.
Antes de mesclar, é necessário alternar para o branch onde as alterações serão integradas.
Alterne para o branch master e exiba os dois commits mais recentes nele:
git checkout master
git log -n 2
O branch master está de fato um commit atrás do branch feature.
Para mesclá-los, utilize o comando git merge e especifique o branch que será mesclado ao branch atual.
Por exemplo, para mesclar o branch feature/new-feature ao master, execute:
git merge feature/new-feature
A mensagem exibida após executar o comando contém o seguinte: Fast-forward, que indica que uma mesclagem fast-forward foi realizada.
Você explorará os dois tipos de merge mais adiante neste capítulo. Antes disso, visualize os dois commits mais recentes:
git log -n 2
Você ainda está na branch master, mas agora ela está atualizada com a branch feature, com ambas as branches apontando para o mesmo commit.
O HEAD ainda aponta para o branch master porque você estava neste branch ao realizar o merge.
Tipos de Merge
Existem dois tipos de operações de merge no Git:
- Merge fast-forward;
- Merge de três vias.
Merge fast-forward
O merge realizado é um fast-forward, conforme indicado na mensagem. Esse tipo ocorre quando todos os commits do branch atualmente selecionado também estão presentes no branch que está sendo mesclado, ou seja, seus históricos de commit não divergem.
Consulte a ilustração a seguir para esclarecimento:
Com esse tipo de merge, o ponteiro do branch selecionado é simplesmente atualizado para o commit mais recente.
Merge de três vias
No entanto, se o histórico dos branches divergiu, ou seja, após um commit comum, novos commits foram feitos separadamente em cada branch, então um merge de três vias é realizado.
O termo "três vias" refere-se às três versões envolvidas no merge:
- A versão do ancestral comum mais recente (commit);
- A versão do commit mais recente no branch atual (HEAD);
- A versão do commit mais recente no branch que está sendo mesclado.
Veja a ilustração a seguir desse tipo de merge:
Veja como funciona uma mesclagem de três vias:
- O Git identifica as alterações feitas em cada um dos branches após o ancestral comum mais recente;
- Se cada branch tiver alterações em arquivos diferentes ou em partes diferentes do mesmo arquivo, o Git irá mesclar automaticamente as alterações, combinando-as no commit resultante;
- Caso contrário, ocorrerá um conflito de mesclagem.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo