stg-push(1)
===========

NAME
----
stg-push - Push one or more patches onto the stack

SYNOPSIS
--------
[verse]
'stg' push [options] [--] [<patch1>] [<patch2>] [<patch3>..<patch4>]

DESCRIPTION
-----------

Push one or more patches (defaulting to the first unapplied one) onto
the stack. The 'push' operation allows patch reordering by commuting
them with the three-way merge algorithm. If there are conflicts while
pushing a patch, those conflicts are written to the work tree, and the
command halts. Conflicts raised during the push operation have to be
fixed and the 'git add --update' command run (alternatively, you may
undo the conflicting push with 'stg undo').

The command also notifies when the patch becomes empty (fully merged
upstream) or is modified (three-way merged) by the 'push' operation.

OPTIONS
-------
-a::
--all::
        Push all the unapplied patches.

-n NUMBER::
--number NUMBER::
        Push the specified number of patches.
+
With a negative number, push all but that many patches.

--reverse::
        Push the patches in reverse order.

--set-tree::
        Push the patches, but don't perform a merge. Instead, the
        resulting tree will be identical to the tree that the patch
        previously created.
+
This can be useful when splitting a patch by first popping the
patch and creating a new patch with some of the
changes. Pushing the original patch with '--set-tree' will
avoid conflicts and only the remaining changes will be in the
patch.

-k::
--keep::
        Keep the local changes.

-m::
--merged::
        Check for patches merged upstream.

StGit
-----
Part of the StGit suite - see linkman:stg[1]
