Edição Avançada do Histórico do Git: Alterando Commits e Rebase Interativo
Mergulhe em comandos poderosos do Git, como `git commit --amend` e `git rebase -i`, para refinar mensagens de commit, combinar commits (squash) e limpar o histórico do seu projeto.
Dominar o histórico do Git é essencial para manter um repositório limpo e profissional. Às vezes, cometemos erros de digitação, esquecemos de adicionar um arquivo ou simplesmente queremos organizar melhor nossas alterações antes de fazer o push.
Corrigindo o último commit com git commit --amend
O comando --amend é a maneira mais rápida de corrigir o commit mais recente. Ele permite que você altere a mensagem do commit ou adicione arquivos esquecidos.
# Adicione os arquivos esquecidos
git add arquivo_esquecido.txt
# Atualize o commit
git commit --amend -m "Nova mensagem de commit"
Nota: Nunca use
--amendem commits que já foram enviados para um repositório compartilhado, pois isso altera o hash do commit e pode causar problemas para outros colaboradores.
Limpando o histórico com git rebase -i
O rebase interativo (-i) é uma ferramenta poderosa que permite reescrever o histórico de commits. Com ele, você pode:
- Squash: Combinar vários commits em um só.
- Reword: Alterar mensagens de commits antigos.
- Drop: Remover commits desnecessários.
Para começar, execute:
git rebase -i HEAD~n
(Onde n é o número de commits que você deseja revisar)
Ao executar o comando, um editor de texto será aberto listando os commits. Basta alterar a palavra pick para o comando desejado (como squash ou reword) e salvar o arquivo.
Conclusão
O uso consciente dessas ferramentas transforma um histórico caótico em uma linha do tempo clara e compreensível. Pratique em um branch de teste antes de aplicar em branches principais!