> For the complete documentation index, see [llms.txt](https://cumbucadev.gitbook.io/github-essentials/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cumbucadev.gitbook.io/github-essentials/dia-4/trabalhando-com-branches-localmente/mesclando-branches-via-git-merge.md).

# Mesclando Branches via \`git merge\`

O <mark style="color:purple;">git</mark> <mark style="color:orange;">merge</mark> pega as alterações feitas em um branch específico e as aplica no branch em que você está atualmente. Isso acontece de forma automática, quando não há conflitos, ou pode exigir uma intervenção manual, caso ocorram conflitos entre as mudanças feitas.

Quando você realiza um merge, o Git tenta combinar as alterações automaticamente. Se houver diferenças que não podem ser resolvidas automaticamente (conflitos), o Git pedirá sua ajuda para escolher qual versão manter.

## Estrutura

Esta é a estrutura base do comando <mark style="color:purple;">git</mark> <mark style="color:orange;">merge</mark> que iremos utilizar neste momento

> <mark style="color:purple;">git</mark> <mark style="color:orange;">merge</mark> <mark style="color:green;">nome-do-branch</mark>

Em que:&#x20;

* <mark style="color:purple;">**git**</mark>**&#x20;**<mark style="color:orange;">**merge**</mark>: Este é o comando principal que invoca a ferramenta de mesclagem do Git.
* <mark style="color:green;">**nome-do-branch**</mark>: Especifica o branch que você deseja mesclar com o branch atual. Esse pode ser um branch local ou remoto.

Esse comando deve ser executado no **branch de destino**, ou seja, o branch onde você quer que as alterações sejam aplicadas.

## Exemplos de Uso

* Integrar um branch no branch principal
  * <mark style="color:purple;">git</mark> <mark style="color:orange;">switch</mark> <mark style="color:green;">main</mark>\ <mark style="color:purple;">git</mark> <mark style="color:orange;">merge</mark> <mark style="color:green;">nova-feature</mark>
  * O primeiro comando garantirá que o branch atual é o `main`. No segundo comando, **se o merge ocorrer sem conflitos**, o Git criará automaticamente um commit de merge para registrar a fusão dos branches. Isso irá aplicar as alterações do `nova-feature` no `main`.

O merge funciona perfeitamente quando não há conflitos. No entanto, quando eles ocorrem, é necessário resolvê-los manualmente com atenção. Na próxima seção, vamos aprender como lidar com os conflitos que podem surgir durante o processo de merge.

{% hint style="warning" %}
Esta é uma explicação simplificada para fins didáticos. Para explorar todas as possibilidades do comando <mark style="color:purple;">`git`</mark><mark style="color:orange;">`merge`</mark>, consulte a [documentação oficial](https://git-scm.com/docs/git-merge/pt_BR).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cumbucadev.gitbook.io/github-essentials/dia-4/trabalhando-com-branches-localmente/mesclando-branches-via-git-merge.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
