Skip to content

A handy tool for doing efficient in-memory commit rebases & fixups

License

Notifications You must be signed in to change notification settings

fjasle/git-revise

 
 

Repository files navigation

git revise

Build Status PyPi Documentation Status

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.

By default, git revise will apply staged changes to a target commit, then update HEAD to point at the revised history. It also supports splitting commits and rewording commit messages.

Unlike git rebase, 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.

Install

$ pip install --user git-revise

Various people have also packaged git revise for platform-specific package managers (Thanks!)

macOS Homebrew

$ brew install git-revise

Fedora

$ dnf install git-revise

Documentation

Documentation, including usage and examples, is hosted on Read the Docs.

About

A handy tool for doing efficient in-memory commit rebases & fixups

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 90.8%
  • Roff 9.2%