# stg-push

## NAME



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


## SYNOPSIS



           _stg push_ [OPTIONS] [patch]...
           _stg push_ [OPTIONS] -n <number>
           _stg push_ [OPTIONS] --all
    


## DESCRIPTION



           Push one or more unapplied patches from the series onto the stack.
    
           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



           -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
               patches
    
           --reverse
               Push the patches in reverse order
    
           --noapply
               Reorder patches by pushing without applying
    
           --set-tree
               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 patch.
    
           -k, --keep
               Keep the local changes
    
           -m, --merged
               Check for patches merged upstream
    
           --committer-date-is-author-date
               Instead of using the current time as the committer date, use
               the author date of the commit as the committer date.
    
           --conflicts[=<policy>]
               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



           Part of the StGit suite - see stg(1)
    


* * *