Skip to content

Commit

Permalink
Documentation: rework src/dst description in git push
Browse files Browse the repository at this point in the history
This tries to make the description of ref matching in git push easier
to read. Beauty is in the eye of the beholder, though.

Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Anders Melchiorsen authored and Junio C Hamano committed Jan 26, 2009
1 parent 1750783 commit 8039184
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions Documentation/git-push.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,21 @@ OPTIONS
It is used to specify with what <src> object the <dst> ref
in the remote repository is to be updated.
+
The <src> side represents the source branch (or arbitrary
"SHA1 expression", such as `master~4` (four parents before the
tip of `master` branch); see linkgit:git-rev-parse[1]) that you
want to push. The <dst> side represents the destination location.
The <src> is often the name of the branch you would want to push, but
it can be any arbitrary "SHA-1 expression", such as `master~4` or
`HEAD` (see linkgit:git-rev-parse[1]).
+
The local ref that matches <src> is used
to fast forward the remote ref that matches <dst>. If
the optional leading plus `+` is used, the remote ref is updated
even if it does not result in a fast forward update.
The <dst> tells which ref on the remote side is updated with this
push. Arbitrary expressions cannot be used here, an actual ref must
be named. If `:`<dst> is omitted, the same ref as <src> will be
updated.
+
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
The object referenced by <src> is used to fast forward the ref <dst>
on the remote side. If the optional leading plus `{plus}` is used, the
remote ref is updated even if it does not result in a fast forward
update.
+
A lonely <src> parameter (without a colon and a destination) pushes
the <src> to the same name in the destination repository.
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
+
Pushing an empty <src> allows you to delete the <dst> ref from
the remote repository.
Expand Down

0 comments on commit 8039184

Please sign in to comment.