stg-push(1) — Linux manual page


STG-PUSH(1)                   StGit Manual                   STG-PUSH(1)

NAME         top

       stg-push - Push (apply) one or more unapplied patches

SYNOPSIS         top

       stg push [OPTIONS] [patch]...
       stg push [OPTIONS] -n <number>
       stg push [OPTIONS] --all

DESCRIPTION         top

       Push one or more unapplied patches from the series onto the

       By default, the first unapplied patch is pushed.

       Unapplied patches may be pushed in arbitrary order, but out of
       order pushes may result in merge conflicts. If there are
       conflicts while pushing a patch, the conflicts are written to the
       work tree and the push command halts. Conflicts may then be
       resolved using the normal Git methods, or alternatively the push
       may be undone using stg-undo(1).

OPTIONS         top

       -a, --all
           Push all unapplied patches

       -n <n>, --number=<n>
           Push the specified number of patches.

           A negative number indicates to push all but that number of

           Push the patches in reverse order

           Reorder patches by pushing without applying

           Push patches keeping their original trees.

           For each patch pushed, instead of performing a merge, the
           patch is pushed such the resulting tree will be identical to
           the tree associated with the patch.

           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

       -k, --keep
           Keep the local changes

       -m, --merged
           Check for patches merged upstream

           Instead of using the current time as the committer date, use
           the author date of the commit as the committer date.

           Either "allow" or "disallow" pushing a patch with conflicts.

           Using --conflicts=allow (or just --conflicts) allows pushing
           a patch that may result in unresolved merge conflicts. The
           patch will be pushed and files with conflicts will be left
           with conflict markers to be resolved manually; or the
           operation undone with stg undo --hard. This is the default
           behavior and also corresponds to the
           "stgit.push.allow-conflicts" variable being set to "true".

           Using --conflicts=disallow disallows pushing any patch that
           would result in merge conflicts. The operation will stop on
           the last patch that can be pushed without conflicts. This
           behavior can be configured by setting
           "stgit.push.allow-conflicts" to "false".

STGIT         top

       Part of the StGit suite - see stg(1)

COLOPHON         top

       This page is part of the stgit (Stacked Git) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for
       this manual page, see ⟨⟩.  This page
       was obtained from the project's upstream Git repository
       ⟨⟩ on 2023-06-23.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2023-06-19.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

StGit 2.3.0                    06/23/2023                    STG-PUSH(1)

Pages that refer to this page: stg(1)stg-edit(1)