krobelus / git-revise

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:Python 91.7%Language:Roff 8.3%