stg-push man page

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


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


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.


-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.

Push the patches in reverse order.
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.


Part of the StGit suite - see stg(1)

Referenced By


Explore man page connections for stg-push(1).