Skip to content
Python Shell Emacs Lisp Other
Branch: master
Clone or download

Latest commit

jpgrayson Remove tutorial
The updated StGit tutorial now exists in the website's source. The
tutorial.txt is thus removed from this repository.

The stg manpage is updated to link to the tutorial on the project website.

Signed-off-by: Peter Grayson <>
Latest commit fbeff5d Jun 6, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Run apt-get update in ci action May 11, 2020
Documentation Remove tutorial Jun 6, 2020
completion Add --keep-cr to zsh completions Mar 7, 2020
contrib Update project url in stgit.el Jun 6, 2020
examples Remove references to Aug 14, 2017
perf Reformat code using black Apr 19, 2020
stgit Update pick --expose description Jun 6, 2020
t Add tests for 'stg pick --expose' with custom format May 12, 2020
.git_archival.txt Capture version in archives with .git_archival.txt Nov 5, 2018
.gitattributes Capture version in archives with .git_archival.txt Nov 5, 2018
.gitignore Add zsh completions Mar 25, 2019
.mailmap Karl got married Jul 13, 2009 Replace AUTHORS with Jun 6, 2020 Remove tutorial Jun 6, 2020
COPYING Update FSF address Apr 12, 2015
INSTALL Use $HOME/.local for default install path Feb 28, 2020 Remove tutorial Jun 6, 2020
Makefile Move coverage config into pyproject.toml Apr 19, 2020 Overhaul Jun 6, 2020
TODO Convert branch to new lib infrastructure Dec 16, 2019 Overhaul documentation build system Apr 28, 2020
pyproject.toml Move coverage config into pyproject.toml Apr 19, 2020
setup.cfg Add configuration for black code formatter Apr 19, 2020 Update project details in Jun 6, 2020
stg Reformat code using black Apr 19, 2020

Stacked Git

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.

Getting started

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 to see what has changed in the latest StGit release.


StGit is written in pure Python with no third-party Python dependencies. StGit currently supports Python version 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, and 3.8, although support for Python 2 will be dropped in a future release.

StGit works within the context of a Git repository by running git commands. Git 2.2.0 or newer is required.

Package Repositories

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.

Source Installation

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.



Bugs or feature requests should be raised on the StGit issues page.


StGit is maintained by Catalin Marinas and Peter Grayson.

For a complete list of StGit's authors, see

You can’t perform that action at this time.