Quando rebasing interativamente com git, frequentemente precisamos esmagar uma sequência de commits em série, ou seja, alterar um conjunto de commits a partir deste:
pick f7f3f6d changed my name a bit
pick 310154e updated README formatting and added blame
pick a5f4a0d added cat-file
para isso:
pick f7f3f6d changed my name a bit
squash 310154e updated README formatting and added blame
squash a5f4a0d added cat-file
Quando você precisa alterar muitos commits de squash para pick, é um pouco cansativo alterá-los um por um – então, se você estiver usando o Vim, é muito mais fácil:
- coloque o cursor no início da linha com o primeiro commit que deseja esmagar
- entrar no modo de bloqueio visual (CTRL-V)
- selecione todas as linhas que deseja squash
- pressione ‘c’ e digite ‘squash’ para substituir o comando ‘pick’
- pressione ESC para aplicar essa alteração a todas as linhas selecionadas.
Seus dedos vão agradecer por isso!