Sobes.tech
Junior — Middle

Quais são as diferenças entre os comandos 'git merge' e 'git rebase' ao integrar alterações em um branch?

sobes.tech IA

Resposta da IA

Os comandos git merge e git rebase são ambos usados para integrar alterações de um branch para outro, mas funcionam de maneiras diferentes:

  • git merge cria um novo commit de fusão que une as histórias de ambos os branches. A história é mantida como um ramo, permitindo ver quando e como a fusão ocorreu.

  • git rebase transfere (reescreve) os commits do branch atual sobre outro branch, criando uma história linear sem commits de fusão. Isso simplifica a história, mas altera os hashes dos commits, o que pode causar dificuldades na colaboração.

Exemplo:

# merge
git checkout feature
git merge main

# rebase
git checkout feature
git rebase main

A escolha depende das preferências da equipe: merge mantém toda a história, rebase a torna mais limpa e linear.