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