Sobes.tech
Junior — Middle

Explique a diferença entre usar os comandos git rebase e git merge ao integrar alterações em ramos.

sobes.tech IA

Resposta da IA

git merge e git rebase são duas formas de integrar alterações de uma branch para outra, mas funcionam de maneiras diferentes:

  • git merge cria um novo commit de fusão, unindo as histórias de ambas as branches. A história mantém todos os ramificações e commits, oferecendo uma visão completa do desenvolvimento.

  • git rebase move os commits da branch atual para cima de outra branch, reescrevendo a história. Isso torna a história mais linear e limpa, mas altera os hashes dos commits.

Exemplo:

# merge
git checkout feature
git merge main

# rebase
git checkout feature
git rebase main

Quando usar:

  • merge é adequado para manter toda a história e quando a transparência das branches é importante.
  • rebase é útil para simplificar a história antes de unir na branch principal, evitando commits de fusão desnecessários.

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