stg-push(1)
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.
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 withstg 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)