path: root/Documentation
diff options
authorJeff King <>2008-02-19 16:26:45 (GMT)
committerJunio C Hamano <>2008-02-20 04:46:15 (GMT)
commit066a5268db8bff70ebd31d7887e060d1463fe57c (patch)
tree950b8f919999e5540528476b7192f4c734478505 /Documentation
parent68d06c5200775ffda91881254ca7a92f27db68ef (diff)
push: document the status output
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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation')
1 files changed, 49 insertions, 0 deletions
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 650ee91..3128170 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -108,6 +108,55 @@ the remote repository.
+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>)
+ 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).
+ 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).
+ 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.
+ The name of the remote ref being updated, minus its
+ `refs/<type>/` prefix.
+ 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.