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.