Sobes.tech
Junior — Middle

Explique o princípio de funcionamento do comando 'git rebase' e em que se diferencia de 'git merge'.

sobes.tech IA

Resposta da IA

O comando git rebase permite mover um ramo sobre outro, reescrevendo a história dos commits como se as alterações tivessem sido feitas numa nova ramificação. Isto ajuda a obter uma história linear sem commits de fusão adicionais.

Diferenças para git merge:

  • git merge combina ramos criando um novo commit de fusão, preservando a história de ambos os ramos.
  • git rebase reescreve a história, movendo os commits, o que torna a história mais limpa e linear.

Exemplo:

git checkout feature
# Movemos o ramo feature para o master atualizado
 git rebase master

Após isso, os commits de feature parecerão como se tivessem sido criados sobre o último commit do master.

Importante: não é recomendado fazer rebase em ramos públicos, pois isso altera a história e pode causar conflitos a outros desenvolvedores.