git revise is a
git subcommand to efficiently update, split, and rearrange
commits. It is heavily inspired by
git rebase, however it tries to be more
efficient and ergonomic for patch-stack oriented workflows.
git revise will apply staged changes to a target commit, then
HEAD to point at the revised history. It also supports splitting
commits and rewording commit messages.
git revise avoids modifying the working directory or
the index state, performing all merges in-memory and only writing them when
necessary. This allows it to be significantly faster on large codebases and
avoids unnecessarily invalidating builds.
$ pip install --user git-revise
Various people have also packaged
git revise for platform-specific package
$ brew install git-revise
$ dnf install git-revise
Documentation, including usage and examples, is hosted on Read the Docs.