Source
Split the most recent commit
git reset HEAD~
- then commit the pieces individually as usual
Split an older commit (during a rebase)
git rebase -i <commit-ish>
- in the rebase editor select
edit
for the commit to be split; save and close - you should now be at the correct point in the commit history, so again
git reset HEAD~
- and again, commit the pieces individually as usual