Stacked Git, StGit for short, is an application for managing Git commits as a stack of patches.
With a patch stack workflow, multiple patches can be developed concurrently and efficiently, with each patch focused on a single concern, resulting in both a clean Git commit history and improved productivity.
For a complete introduction to StGit, see the Stacked Git homepage.
To get a feel for how StGit works, see this brief example of StGit in action. Or check out the in-depth tutorial.
StGit also has a complete set of man pages describing the
stg
command line tool and each of its subcommands.
See CHANGELOG.md to see what has changed in the latest StGit release.
StGit is written in pure Python with no third-party Python dependencies. StGit supports Python versions >= 3.5.
StGit works within the context of a Git repository by running git
commands. Git 2.2.0 or newer is required.
Recent versions of StGit are available via many package repositories such as HomeBrew and for many Linux distributions including: Alpine, Arch, Fedora, Nix and Ubuntu.
More details about StGit packages availability for various operating systems can be found on repology.
StGit may also be installed from source. Download the latest release or clone from the StGit repository on GitHub.
To install from source, choose a prefix
and run:
$ make prefix=/usr/local install install-doc
For more information about installation, see INSTALL.
See CONTRIBUTING.md for a full guide to contributing to StGit.
StGit is maintained by Catalin Marinas and Peter Grayson.
For a complete list of StGit's authors, see AUTHORS.md.