git – squish commits sem rebase

git reset head~n  
git
add -A
git commit
-m "new commit message"

Onde n é o número de seus últimos commits que você deseja mesclar

Por exemplo, se você deseja mesclar seus últimos 3 commits em 1:

git reset head~3  
git
add -A
git commit
"I merged my last 3 commits"

Ressalvas:

  • Isso só funciona se todos os n commits forem os últimos n commits no repo.
  • Quaisquer alterações em seu diretório de trabalho também serão confirmadas, portanto, faça isso apenas quando tiver uma árvore de trabalho limpa.