git wonders never cease. This page describes how to use git rebase -i to split commits. (Thanks Chris Lalancette and Stephen Tweedie).
Stephen notes also: “
git diff --cached isn’t mentioned in that git-rebase page, but it’s an invaulable part of the process”. Use
git diff --cached during the splitting process to see which commits you’ve added to the index but not committed yet. This lets you see what your split commit will look like.