0Pricing
DevOps Bootcamp · Aula

Rebase interativo para o histórico

Use o rebase interativo para reescrever o histórico de commits, combiná-los, reordená-los ou editar suas mensagens antes de enviá-los.

Rebase interativo para o histórico é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Conheça a rebase interativa

Boas-vindas a uma ferramenta poderosa do Git: a rebase interativa! Ela permite reescrever o histórico de commits do seu projeto antes de compartilhá-lo com outras pessoas.

Pense nela como uma máquina do tempo para seus commits, permitindo limpar, combinar ou reordenar alterações para criar uma história clara e linear do seu trabalho.

Por que limpar o histórico?

Por que você gostaria de reescrever o histórico?

  • Clareza: torne o registro de commits do seu projeto fácil de ler e entender.
  • Concisão: combine pequenos commits incrementais em uma única alteração significativa.
  • Depuração: um histórico limpo ajuda ao usar ferramentas como git bisect para descobrir onde um erro foi introduzido.
  • Melhores solicitações de mesclagem: apresente um conjunto refinado de alterações às pessoas colaboradoras.

Iniciando uma rebase interativa

Para iniciar uma rebase interativa, você usará o comando git rebase -i. É necessário especificar quantos commits para trás você deseja voltar.

Por exemplo, para fazer rebase dos 3 últimos commits da sua ramificação atual, você usaria:

git rebase -i HEAD~3

Isso abre um editor mostrando seus 3 últimos commits e os comandos disponíveis.

Os comandos do editor de rebase

Quando você inicia uma rebase interativa, o Git abre um editor de texto com uma lista de commits e instruções. Cada commit começa com um comando:

  • pick: use o commit como está.
  • reword: use o commit, mas edite sua mensagem.
  • edit: use o commit, mas pause para alterar as mudanças.
  • squash: combine com o commit anterior, mesclando as mensagens.
  • fixup: combine com o commit anterior, descartando a mensagem deste commit.
  • drop: remova o commit completamente.

Exemplo: reescrevendo a mensagem de um commit

Suponha que você tenha cometido um erro de digitação na mensagem de um commit. Você pode usar reword para corrigi-lo. Altere pick para reword ao lado do commit que deseja modificar:

pick 5a6b7c8 Add new feature
pick 1d2e3f4 Fix typo in docs
reword 9g0h1i2 Implement login screen

Depois de salvar e fechar o editor, o Git solicitará que você edite a mensagem do commit 9g0h1i2.

Exemplo: combinando commits

Muitas vezes, você cria vários commits pequenos e relacionados que poderiam formar um só. Use squash para combiná-los.

pick a1b2c3d Initial feature commit
squash e4f5g6h Add more details
fixup i7j8k9l Fix small bug

Aqui, e4f5g6h será mesclado em a1b2c3d, combinando suas mensagens. i7j8k9l também será mesclado em a1b2c3d, mas sua mensagem será descartada (fixup).

Exemplo: removendo commits

Se você tiver um commit experimental de que não precisa mais, poderá simplesmente usar drop para removê-lo do histórico. Basta alterar pick para drop ou excluir a linha inteira:

pick 1122334 Initial setup
drop 5566778 Test experimental feature
pick 9900112 Add user authentication

Depois de salvar, o commit 5566778 será completamente removido do histórico da sua ramificação.

Exemplo: reordenando commits

Você também pode alterar a ordem dos commits. Basta recortar e colar as linhas no editor para reorganizá-las. O Git aplicará as alterações na nova ordem.

Ordem original:

pick abcdef1 Add feature A
pick 1234567 Add feature B

Reordenada:

pick 1234567 Add feature B
pick abcdef1 Add feature A

Tenha cuidado, pois a reordenação pode introduzir conflitos se os commits dependerem uns dos outros.

A regra de ouro: não faça rebase do histórico compartilhado!

Isso é fundamental: nunca faça rebase de commits que já foram enviados para um repositório remoto compartilhado (como GitHub ou GitLab) e que possam ter sido baixados por outras pessoas.

A rebase reescreve os IDs dos commits. Se outras pessoas tiverem baseado seu trabalho nos commits originais, os commits após a rebase aparecerão como um histórico completamente diferente, causando grandes conflitos e confusão para todas as pessoas envolvidas.

Faça rebase somente de commits que existam exclusivamente na sua ramificação local!

Verificação do comando de rebase

Você tem três commits: A (Initial), B (Minor fix), C (Refactor). Você deseja combinar B com A, mantendo a mensagem original de A, e depois manter C como está. Quais comandos você usaria no editor de rebase interativa, do mais antigo ao mais recente?

Recapitulação da rebase interativa

Você aprendeu sobre o poderoso comando git rebase -i!

  • Ele permite reescrever o histórico de commits local.
  • Você pode usar reword nas mensagens, combinar commits com squash ou fixup, remover alterações indesejadas com drop e até reordenar commits.
  • Lembre-se sempre da regra de ouro: NEVER faça rebase de commits que já foram enviados para um repositório remoto compartilhado.

Dominar a rebase interativa ajuda a manter um histórico de projeto limpo e fácil de entender!

Perguntas Frequentes

A aula “Rebase interativo para o histórico” é grátis?

Sim — o texto completo de “Rebase interativo para o histórico” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Rebase interativo para o histórico”?

Use o rebase interativo para reescrever o histórico de commits, combiná-los, reordená-los ou editar suas mensagens antes de enviá-los. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Rebase interativo para o histórico”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Resolução manual de conflitos de mesclagem
  2. Rebase interativo para o histórico
  3. Aplicando commits seletivamente
  4. Usando o Git Rerere para Reutilizar Resoluções de Conflitos
← Voltar para DevOps Bootcamp