Skip to content

Commit

Permalink
push: document the status output
Browse files Browse the repository at this point in the history
The output was meant to be a balance of self-explanatory and
terse. In case we have erred too far on the terse side, it
doesn't hurt to explain in more detail what each line means.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Feb 20, 2008
1 parent 68d06c5 commit 066a526
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions Documentation/git-push.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,55 @@ the remote repository.

include::urls-remotes.txt[]

OUTPUT
------

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>)
-------------------------------

flag::
A single character indicating the status of the ref. This is
blank for a successfully pushed 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 (note that the status of up to
date refs is shown only when `git push` is running verbosely).

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 for the failure.
The string `rejected` indicates that git did not try to send the
ref at all (typically because it is not a fast forward). The
string `remote rejected` indicates that the remote end refused
the update; this rejection is typically caused by a hook on the
remote side. The string `remote failure` indicates that 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.

Examples
--------
Expand Down

0 comments on commit 066a526

Please sign in to comment.