git-revise is a git subcommand and python library for efficiently updating, splitting, and rearranging commits.
https://github.com/mystor/git-revise.git
latest