To split a commit <commit> and add the new commit before this one, and save the author date of <commit>, — the steps are following:
1. Edit the commit before <commit>
$ git rebase -i <commit>^^
NB: perhaps it will be also needed to edit <commit> as well.
2. Cherry pick <commit> into the index
$ git cherry-pick -n <commit>
3. Interactively reset unwanted changes from the index and reset the working tree
$ git reset -p && git checkout-index -f -a
As an alternative, just stash unneeded changes interactively:
git stash push -p -m "tmp other changes"
4. Make other changes (if any) and create the new commit
git commit -m "upd something".
Optionally you can repeat the items 2-4 to add more intermediate commits.
5. Continue rebasing
git rebase --continue