O que é rebase
Rebase é o comando que reaplica os commits de uma branch sobre outra base. O resultado é uma linha de histórico sem o commit de integração.
O uso comum é atualizar a branch de trabalho com a branch principal para a revisão. Os commits da tarefa aparecem depois das alterações mais recentes.
Rebase e merge
O merge preserva as duas linhas e registra um commit de integração. O rebase reescreve os commits da branch, um por um, sobre a base escolhida.
O histórico fica mais linear, e a leitura da pull request mostra apenas as alterações da tarefa. A troca é a reescrita dos identificadores.
Conflito durante o rebase
O rebase para no commit que conflita. A resolução acontece no arquivo, como em um conflito de merge, e o comando continua depois de marcar a correção.
Cada commit pode gerar um conflito próprio. Por isso, o rebase costuma ser mais trabalhoso quando a branch tem muitos commits pequenos.
Exemplo
Como conferir
Leia o histórico antes e depois do comando. Confira os identificadores dos commits e a base aplicada, e execute os testes depois da reaplicação.
A branch precisa estar identificada, e o commit mantém a mensagem original. O rebase não substitui a revisão do código.
Dúvidas frequentes
Perguntas frequentes sobre Rebase
- Rebase é a mesma coisa que merge?
- O merge une duas linhas e cria um commit de integração. O rebase reaplica os commits de uma branch sobre outra base, um por um.
- Posso fazer rebase em branch compartilhada?
- Evite. O rebase reescreve os identificadores dos commits, e outro responsável que já baixou a branch precisa reconciliar o histórico.
- O que acontece quando há conflito?
- O rebase para no commit que conflita. A resolução acontece no arquivo, e o comando continua depois de marcar a correção.
- Como desfazer um rebase?
- O histórico de operações guarda a posição anterior. A volta usa a referência registrada, desde que o comando seja executado antes de outra alteração.
Para continuar
Recursos relacionados
Documentação
Git: rebase
Explica o rebase, o histórico linear e o cuidado com branch compartilhada.
Abrir recursoDocumentação
Git: documentação do rebase
Descreve as opções, a pausa por conflito e a continuação.
Abrir recursoAplicação na formação
Developer Workspace
No Developer Workspace, o rebase aparece na atualização da branch para a revisão e na leitura do histórico.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.