Sobes.tech
Middle

Qual é a diferença entre rebase e merge no Git?

sobes.tech IA

Resposta da IA

O Merge cria um novo commit de fusão, combinando a história dos ramos. Rebase move os commits do seu ramo para cima de outro, reescrevendo a história.

Quando usar:

  • Merge: Preferido para fundir ramos de funcionalidades na rama principal, mantém a história.
  • Rebase: Bom para limpar a história local antes de fazer push, torna a história linear.

Comparação:

Característica Merge Rebase
Tipo de operação Cria um commit de fusão Reescreve a história, movendo os commits
História Mantém a estrutura de ramos, pode ser complexa Linear, mas pode ser difícil de seguir
Colaboração Mais seguro ao trabalhar em equipa Pode causar problemas ao trabalhar com ramos partilhados, se a história já foi publicada
# Exemplo merge
git checkout main
git merge feature-branch
# Exemplo rebase
git checkout feature-branch
git rebase main
git checkout main
git merge feature-branch // Fusão fast-forward