stg-uncommit - Man Page

Convert regular Git commits into StGit patches


stg uncommit <patchname-1> [<patchname-2> ...]
stg uncommit -n number [<patchname-prefix>]
stg uncommit -t <committish> [-x]


Convert one or more Git commits from the base of the current stack into StGit patches. The original Git commits are not modified; the StGit stack extends to incorporate these commits as the bottommost applied patches. This is the opposite of stg-commit(1).

By default, the number of patches to uncommit is determined by the number of patch names provided on the command line. The first provided name is used for the first patch to uncommit, i.e. for the newest patch.

The -n/--number option specifies the number of patches to uncommit. In this case, at most one patch name may be specified. It is used as prefix to which the patch number is appended. If no patch names are provided on the command line, StGit automatically generates names based on the first lines of the commit messages.

The -t/--to option specifies that all commits up to and including the given commit should be uncommitted. The -x/--exclusive option may be used to exclude the "to" commit.

Only commits with exactly one parent can be uncommitted; in other words, merge commits may not be uncommitted.


-n <number>, --number=<number>

Uncommit the specified number of commits

-t <committish>, --to=<committish>

Uncommit to the specified committish

-x, ā€‰--exclusive

Exclude the commit specified by the --to option


Part of the StGit suite - see stg(1)

Referenced By

stg(1), stg-commit(1).

04/09/2024 StGit 2.4.6 StGit Manual