git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] push: document the status output

From
Jeff King <peff@peff.net>
Date
Feb 19, 2008, 16:26 UTC
Message-ID
<20080219162645.GC30451@sigill.intra.peff.net>
In-Reply-To
<d9b18b1827a183e5b3b785a092605eab1ff4b6e7.1203438181.git.peff@peff.net>

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>
---
 Documentation/git-push.txt |   49 ++++++++++++++++++++++++++++++++++++++++++++
 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.
 
 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
 --------
-- 
1.5.4.1.143.ge7e51-dirty
Previous: Jeff King
Message 2 of 2 in “Documentation/push: clarify matching refspec behavior”
  1. 2/3 Documentation/push: clarify matching refspec behaviorJeff King, Feb 19, 2008
  2. 3/3 push: document the status outputJeff King, Feb 19, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.