O que é um merge?

Perguntado por: sguimaraes . Última atualização: 17 de julho de 2023
4.8 / 5 20 votos

Fusão ou mesclagem, ou em inglês merge, no controle de versão, é uma operação fundamental que concilia várias alterações feitas a uma coleção de arquivos controlada por versão. Na maioria das vezes, é necessária quando um arquivo é modificado por duas pessoas em dois computadores diferentes ao mesmo tempo.

O funcionamento do Git merge é feito a partir da combinação de várias sequências de commits um um histórico unificado. É amplamente usado para mesclar duas branches. Com isso, o algoritmo da ferramenta pega a ponta de cada branch e encontra o commit base em comum.

Mesclagem é o jeito do Git de unificar um histórico bifurcado. O comando git merge permite que você pegue as linhas de desenvolvimento independentes criadas pelo git branch e as integre em uma ramificação única.

Nesse ponto do curso você já deve saber o que é uma branch, Um merge é quando "fundimos duas branchs", pegamos todo o código de uma branch e pedimos ao git para adicionar esse código a outra branch.

Para fazer merge de branches localmente, use git checkout para alternar para o branch no qual você quer que o merge aconteça. Esse branch é geralmente o main. Em seguida, use git merge e especifique o nome do outro branch para colocar nesse branch. Este exemplo faz merge do branch jeff/feature1 com o main.

Executa operações de inserção, atualização ou exclusão em uma tabela de destino usando os resultados de uma união com uma tabela de origem. Por exemplo, sincronize duas tabelas inserindo, atualizando ou excluindo linhas em uma tabela com base nas diferenças encontradas na outra tabela.

O merge não deve ser usado para sincronizar fluxos simultâneos - Um merge reúne vários fluxos sem sincronização. O Join é um nó de controle que possui várias arestas de entrada e uma aresta de saída e é usado para sincronizar fluxos simultâneos de entrada.

Para desmercar células imediatamente após mesclar, pressione Ctrl + Z. Caso contrário, faça isso: Clique na célula mesclada e clique em Home > Merge & Center.

Executar o git merge com a opção --abort encerra o processo de merge e faz a ramificação voltar ao estado anterior ao merge.

O merge é uma opção segura que preserva o histórico inteiro do repositório, enquanto o rebase cria um histórico linear movendo a ramificação de funções para a ponta da ramificação main .