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