Mesclando Branches
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 é a mesclagem de 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
.

Como pode ser observado, o branch master
está um commit atrás.
Antes de realizar a mesclagem, é 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:

O branch master
está realmente um commit atrás do branch feature.
Para mesclá-los, utilize o comando git merge
e especifique o branch a ser mesclado no branch atual.
Por exemplo, para mesclar o branch feature/new-feature
em master
, execute:

A mensagem exibida após executar o comando contém o seguinte: Fast-forward
, que especifica que a mesclagem fast-forward foi realizada.
Você irá explorar os dois tipos de mesclagem mais adiante neste capítulo. Antes disso, visualize os dois commits mais recentes:

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 a branch master
porque você estava nesta 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 foi 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:
Neste 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 deste 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á automaticamente mesclar 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
What is the difference between a fast-forward merge and a three-way merge?
Can you explain what a merge conflict is and how to resolve it?
Can you give an example of when a three-way merge would occur?
Awesome!
Completion rate improved to 3.57
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 é a mesclagem de 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
.

Como pode ser observado, o branch master
está um commit atrás.
Antes de realizar a mesclagem, é 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:

O branch master
está realmente um commit atrás do branch feature.
Para mesclá-los, utilize o comando git merge
e especifique o branch a ser mesclado no branch atual.
Por exemplo, para mesclar o branch feature/new-feature
em master
, execute:

A mensagem exibida após executar o comando contém o seguinte: Fast-forward
, que especifica que a mesclagem fast-forward foi realizada.
Você irá explorar os dois tipos de mesclagem mais adiante neste capítulo. Antes disso, visualize os dois commits mais recentes:

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 a branch master
porque você estava nesta 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 foi 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:
Neste 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 deste 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á automaticamente mesclar as alterações combinando-as no commit resultante;
- Caso contrário, ocorrerá um conflito de mesclagem.
Obrigado pelo seu feedback!