Se eu estivesse fazendo, usaria "rebase". Supondo que você tenha sua filial registrada, e que seja ramificada do mestre, faça
git rebase -i master
Isso permitirá que você modifique os commits do master para o seu branch atual. No seu caso, substitua pick por s (por squash ) ou f (por fixup , que é uma squash que elimina a mensagem de confirmação do commit esmagado). Salve e saia (ZZ no Vim) e rebase fará sua mágica. Rebase é uma solução mais geral, pois na mesma operação você pode remover, reordenar e reformular os commits.
As configurações de rebase serão abertas no Vim ou no editor que você definir na variável de ambiente EDITOR . No Vim, navegue até o início da linha com o commit que você deseja esmagar (com as teclas de seta ou mouse), cw para excluir pick e entrar no modo de inserção, f para correção ou s para squash ZZ para salvar e sair.
Como observação, o link que você deu sugere que você alinhe seu ramo de recursos em um único commit. Na minha opinião, esta é uma ideia terrível. As confirmações devem representar um conjunto significativo de alterações. Uma ramificação é o conjunto dessas alterações que representa um recurso. Esmagar tudo em um commit enorme significa que será mais difícil para outros desenvolvedores seguirem suas mudanças.