path: root/Documentation/git-push.txt
diff options
authorJ. Bruce Fields <>2006-02-05 22:43:47 (GMT)
committerJunio C Hamano <>2006-02-07 05:14:55 (GMT)
commit3598a308086d4a41cab1e941df7763f2004e53c5 (patch)
tree6fe4f307662f0b12f568293b148d1bdbcbaf9dac /Documentation/git-push.txt
parent4462731e0597c31c68466601a5d74b2edb145d6d (diff)
Docs: split up pull-fetch-param.txt
The push and pull man pages include a bunch of shared text from pull-fetch-param.txt. This simplifies maintenance somewhat, but there's actually quite a bit of text that applies only to one or the other. So, separate out the push- and pull/fetch-specific text into pull-fetch-param.txt and git-push.txt, then include the largest chunk of common stuff (the description of protocols and url's) from urls.txt. That cuts some irrelevant stuff from the man pages without making us duplicate too much. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-push.txt')
1 files changed, 26 insertions, 1 deletions
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index a0ef61d..7e9452e 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -23,7 +23,32 @@ documentation for gitlink:git-receive-pack[1].
+ The "remote" repository that is destination of a push operation.
+ The canonical format of a <refspec> parameter is
+ `+?<src>:<dst>`; that is, an optional plus `+`, followed
+ by the source ref, followed by a colon `:`, followed by
+ the destination ref.
+The <src> side can be an
+arbitrary "SHA1 expression" that can be used as an
+argument to `git-cat-file -t`. E.g. `master~4` (push
+four parents before the current master head).
+The local ref that matches <src> is used
+to fast forward the remote ref that matches <dst>. If
+the optional plus `+` is used, the remote ref is updated
+even if it does not result in a fast forward update.
+Some short-cut notations are also supported.
+* `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
+* A parameter <ref> without a colon is equivalent to
+ <ref>`:`<ref>, hence updates <ref> in the destination from <ref>
+ in the source.
Instead of naming each ref to push, specifies all refs