Rebase From the Ground Up

O comando rebase do Git foi uma daquelas coisas que eu levei uma eternidade para entender. Isso foi em parte porque eu tinha muita coisa a aprender sobre gerenciar branches em geral, mas também em parte porque parecia que as pessoas só se preocupavam em escrever sobre rebase quando era para dizer o quanto incrivelmente esquisito e perigoso era.

Isso é uma pena, porque o rebase é o comando mais útil que eu uso no Git. Mais importante, na verdade é bem fácil de entender depois que você pega o jeito da coisa.

Perigo, Will Robinson!

Eu tentei desmistificar o rebase nesta seção, e eu planejo descrever uma estratégia para experimentar com o rebase, do mesmo jeito que eu fiz com o merge. Entretanto, eu percebi recentemente que eu esqueci de mencionar algo muito importante sobre o rebase: geralmente é considerado grosseria reescrever o histórico em público!

Antes de começar a usar rebase num repositório compartilhado, tenha certeza de que todo mundo que trabalha no seu projeto está confortável usando o rebase. Você também pode considerar trocar a estratégia de pull de todo mundo para "rebase" em vez de "merge".

Fim do Anúncio de Utilidade Pública.

Dito isso, eu vou fazer uma breve divagação, porque eu acho muito mais fácil explicar o rebase no contexto de outro comando Git: git cherry-pick.