the recommended way to split commit is with git rebase -i $commit_you_want_to_split^ . Break your commit using the edit rebase action, then reset HEAD^ and the git add bundle to insert new smaller commits into the index. Admittedly, this is not automatic, but you can script with a lot of sed or awk or python. For more information, see SO Links above.
Once your commit is aborted, your git bisect will now be much more accurate.
Has anyone automated this process?
source share