Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Mesclando Branches | Trabalhando com Branches no Git
Git Essentials

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
Dois commits mais recentes na branch de feature

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
Alternando para o master e exibindo os dois commits mais recentes

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
Mesclando
Note
Nota

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
Dois commits mais recentes após o merge

Você ainda está na branch master, mas agora ela está atualizada com a branch feature, com ambas as branches apontando para o mesmo commit.

Note
Nota

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:

  1. O Git identifica as alterações feitas em cada um dos branches após o ancestral comum mais recente;
  2. 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;
  3. Caso contrário, ocorrerá um conflito de mesclagem.
question mark

Selecione todos os tipos de mesclagem.

Selecione todas as respostas corretas

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 4
some-alt