'\" t
.\" Title: stg-push
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1
.\" Date: 09/02/2017
.\" Manual: StGit Manual
.\" Source: StGit
.\" Language: English
.\"
.TH "STG\-PUSH" "1" "09/02/2017" "StGit" "StGit Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
stg-push \- Push one or more patches onto the stack
.SH "SYNOPSIS"
.sp
.nf
\fIstg\fR push [options] [\-\-] [] [] [\&.\&.]
.fi
.SH "DESCRIPTION"
Push one or more patches (defaulting to the first unapplied one) onto the stack\&. The \fIpush\fR 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 \fIgit add \-\-update\fR command run (alternatively, you may undo the conflicting push with \fIstg undo\fR)\&.
The command also notifies when the patch becomes empty (fully merged upstream) or is modified (three\-way merged) by the \fIpush\fR operation\&.
.SH "OPTIONS"
.PP
\-a, \-\-all
.RS 4
Push all the unapplied patches\&.
.RE
.PP
\-n NUMBER, \-\-number NUMBER
.RS 4
Push the specified number of patches\&.
With a negative number, push all but that many patches\&.
.RE
.PP
\-\-reverse
.RS 4
Push the patches in reverse order\&.
.RE
.PP
\-\-set\-tree
.RS 4
Push the patches, but don\(cqt 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 \fI\-\-set\-tree\fR will avoid conflicts and only the remaining changes will be in the patch\&.
.RE
.PP
\-k, \-\-keep
.RS 4
Keep the local changes\&.
.RE
.PP
\-m, \-\-merged
.RS 4
Check for patches merged upstream\&.
.RE
.SH "STGIT"
Part of the StGit suite \- see \fBstg\fR(1)