Provided by: stgit_0.17.1-1_all 

NAME
stg-publish - Push the stack changes to a merge-friendly branch
SYNOPSIS
stg publish [options] [--] [branch]
DESCRIPTION
This command commits a set of changes on a separate (called public) branch based on the modifications of
the given or current stack. The history of the public branch is not re-written, making it merge-friendly
and feasible for publishing. The heads of the stack and public branch may be different but the
corresponding tree objects are always the same.
If the trees of the stack and public branch are different (otherwise the command has no effect), StGit
first checks for a rebase of the stack since the last publishing. If a rebase is detected, StGit creates
a commit on the public branch corresponding to a merge between the new stack base and the latest public
head.
If no rebasing was detected, StGit checks for new patches that may have been created on top of the stack
since the last publishing. If new patches are found and are not empty, they are checked into the public
branch keeping the same commit information (e.g. log message, author, committer, date).
If the above tests fail (e.g. patches modified or removed), StGit creates a new commit on the public
branch having the same tree as the stack but the public head as its parent. The editor will be invoked if
no "--message" option is given.
It is recommended that stack modifications falling in different categories as described above are
separated by a publish command in order to keep the public branch history cleaner (otherwise StGit would
generate a big commit including several stack modifications).
The --unpublished option can be used to check if there are applied patches that have not been published
to the public branch. This is done by trying to revert the patches in the public tree (similar to the
push --merged detection). The --last option tries to find the last published patch by checking the SHA1
of the patch tree agains the public tree. This may fail if the stack was rebased since the last publish
command.
The public branch name can be set via the branch.<branch>.public configuration variable (defaulting to
"<branch>.public").
OPTIONS
-b BRANCH, --branch BRANCH
Use BRANCH instead of the default branch.
-l, --last
Show the last published patch.
-u, --unpublished
Show applied patches that have not been published.
--author "NAME <EMAIL>"
Set the author details.
--authname NAME
Set the author name.
--authemail EMAIL
Set the author email.
--authdate DATE
Set the author date.
-m MESSAGE, --message MESSAGE
Use MESSAGE instead of invoking the editor.
-f FILE, --file FILE
Use the contents of FILE instead of invoking the editor. (If FILE is "-", write to stdout.)
--sign
Add a "Signed-off-by:" to the end of the patch.
--ack
Add an "Acked-by:" line to the end of the patch.
STGIT
Part of the StGit suite - see stg(1)
StGit 03/27/2014 STG-PUBLISH(1)