commit reset interactive edit

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