Show page source of git-qpush.1.manpage #120689

=== Manual Pages: Section 1
{{{ pre
GIT-QPUSH(1)                    Git-MQ Commands                   GIT-QPUSH(1)

NAME
       git-qpush - push patches on to the Git-MQ patch stack

SYNOPSIS
       git qpush [[-f [--no-backup]] | --keep-changes] [<patch>]
       git qpush [[-f [--no-backup]] | --keep-changes] [<index>]
       git qpush [[-f [--no-backup]] | --keep-changes] [-a | --all]
       git qpush [[-f [--no-backup]] | --keep-changes] --move <patch>
       git qpush [[-f [--no-backup]] | --keep-changes] --move <index>

DESCRIPTION
       The  git qpush command will push patches on to the Git-MQ applied patch
       stack, until the patch specified by the <patch> argument (an  unapplied
       and unguarded patch name), or by the <index> argument (an unapplied and
       unguarded   patch    sequence    number,    as    reported    by    the
       git qseries --verbose command), becomes the topmost applied patch.

       If  the  -a  (or --all)  option is selected, then no <patch> or <index>
       argument should be specified; this will  push  all  currently‐unapplied
       and unguarded patches, which follow the topmost currently‐applied patch
       in series order, on to the patch stack.

       If no <patch> or <index> argument is specified, and the --all option is
       not  selected,  then  only  one  patch will be pushed; this will be the
       first  unapplied  and  unguarded  patch  which  follows   the   topmost
       currently‐applied  patch,  in  series  order,  (i.e. the patch, if any,
       which would be identified by the git qnext command).

       The --move option may be used to relocate any unapplied  and  unguarded
       patch,  which  follows  the  patch identified by git qnext as the first
       pushable patch, such that the relocated patch is pushed  ahead  of  the
       git qnext  identified  patch,  which then remains as the first pushable
       patch.

       If there are  no  patches  which  are  both  unapplied  and  unguarded,
       following  the  topmost  currently‐applied  patch  in series order, the
       git qpush operation will fail.

OPTIONS
       -a, --all
           Push all available unapplied and unguarded  patches,  which  follow
           the topmost currently‐applied patch in series order.

       -f, --force
           If  any  files,  known  to  and  tracked  by git, have been locally
           modified  in  the  working  tree,  or  in  git's  index,  and   the
           --no-backup option has not been specified, first make backup backup
           copies  of  all  locally  modified   files;   discard   all   local
           modifications, then push patches as appropriate.

           If the --force option is not specified, git qpush will abort in the
           presence of local modifications.

       --no-backup
           Used only  in  conjunction  with  --force,  (and  silently  ignored
           otherwise),  discard all local modifications, without making backup
           copies.

       --keep-changes
           Attempt to preserve local modifications, while pushing patches;  if
           any  local  modification  conflicts  with  patch content, abort the
           entire git qpush operation.

           (The --keep-changes option is currently unimplemented).

       --move <patch>, --move <index>
           Push only the single  patch  identified  by  the  <patch>,  or  the
           <index>  option, (one of which must be specified), relocating it in
           the patch series if necessary, such that it is pushed ahead of  the
           patch which would have been identified by the git qnext command.

           The  --move  option  can only be used to move a patch which follows
           the topmost currently‐applied patch in series order; it  cannot  be
           used to push a previously skipped patch, which precedes the current
           topmost patch in series order.

       If there are local  modifications  to  tracked  files,  either  in  the
       working  tree,  or  staged  in  git's index, and if neither the --force
       option, nor the --keep-changes option is specified, then the  git qpush
       operation will be aborted.

EXIT STATUS
       On  successful  completion, git qpush reports an exit status code of 0.
       Any non‐zero exit status code indicates that an error occurred.

COMPARISON WITH MERCURIAL QUEUES
       Inspired by, and for the most part based on behavioural observation  of
       Mercurial's MQ  extension, the git qpush command exhibits fundamentally
       the same behaviour as its hg qpush counterpart.

AUTHOR
       Copyright (C) 2019, by Keith Marshall

       This man page was written by  Keith Marshall <keith@users.osdn.me>,  to
       accompany the Git-MQ program suite.  It is published under the terms of
       the GNU Free Documentation Licence, version 1.3, (or any later  version
       published by the Free Software Foundation), with no Invariant Sections,
       no Front‐Cover Texts, and no Back‐Cover Texts.

       The Git‐MQ program suite itself is distibruted under the terms  of  the
       GNU  General Public Licence, version 3, (or any later version published
       by the Free Software Foundation).

       Copies of the GNU Free Documentation Licence, and of  the  GNU  General
       Public  Licence, are included within the Git‐MQ source distribution, in
       the files FDL-1.3, and LICENCE, respectively.

SEE ALSO
       git-qgoto(1), git-qnext(1), git-qseries(1)

Git-MQ 1.0                        31-Mar-2022                     GIT-QPUSH(1)
}}}
A copy of the above, in PDF format, is [https://osdn.net/users/keith/pf/git-mq/wiki/git-qpush.1.manpage/attach/git-qpush.1.pdf available here].