I found the following config to bring a great QoL improvement:
FILE: .gitconfig
----------------
[alias]
ci = commit
fix = commit --fixup
[rebase]
autosquash = true
Now you can do quick commits as save-points, and squash all of them at the end. git tag last-good
git ci -am 'WIP'
git fix HEAD -a
git fix HEAD -a
…
git rebase -i last-good