The output of "git push" depends on the transport method used;
this section describes the output when pushing over the Git
protocol (either locally or via ssh).
The status of the push is output in tabular form, with each line
representing the status of a single ref. Each line is of the
form:
<flag> <summary> <from> -> <to> (<reason>)
If --porcelain is used, then each line of the output is of the
form:
<flag> \t <from>:<to> \t <summary> (<reason>)
The status of up-to-date refs is shown only if --porcelain or
--verbose option is used.
flag
A single character indicating the status of the ref:
(space)
for a successfully pushed fast-forward;
+
for a successful forced update;
-
for a successfully deleted ref;
*
for a successfully pushed new ref;
!
for a ref that was rejected or failed to push; and
=
for a ref that was up to date and did not need pushing.
summary
For a successfully pushed ref, the summary shows the old and
new values of the ref in a form suitable for using as an
argument to git log
(this is <old>..<new>
in most cases, and
<old>...<new>
for forced non-fast-forward updates).
For a failed update, more details are given:
rejected
Git did not try to send the ref at all, typically because
it is not a fast-forward and you did not force the
update.
remote rejected
The remote end refused the update. Usually caused by a
hook on the remote side, or because the remote repository
has one of the following safety options in effect:
receive.denyCurrentBranch
(for pushes to the checked out
branch), receive.denyNonFastForwards
(for forced
non-fast-forward updates), receive.denyDeletes
or
receive.denyDeleteCurrent
. See git-config(1).
remote failure
The remote end did not report the successful update of
the ref, perhaps because of a temporary error on the
remote side, a break in the network connection, or other
transient error.
from
The name of the local ref being pushed, minus its
refs/<type>/
prefix. In the case of deletion, the name of the
local ref is omitted.
to
The name of the remote ref being updated, minus its
refs/<type>/
prefix.
reason
A human-readable explanation. In the case of successfully
pushed refs, no explanation is needed. For a failed ref, the
reason for failure is described.