X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-push.txt;h=7d1eced7d22b8debf46908e39dd6b34b586effe5;hb=4c58a7111d9fb4f62ca041fc73e8aec0a2f9c800;hp=7b27dc60bd5a2e58475d39d0c32cdbd6878aa5bd;hpb=e2355a3e061eb7c9583a992f677867deb97fd598;p=git.git diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 7b27dc60b..7d1eced7d 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -33,25 +33,27 @@ OPTIONS of a remote (see the section <> below). ...:: - The canonical format of a parameter is - `+?:`; that is, an optional plus `{plus}`, followed - by the source ref, followed by a colon `:`, followed by - the destination ref. + The format of a parameter is an optional plus + `{plus}`, followed by the source ref , followed + by a colon `:`, followed by the destination ref . + It is used to specify with what object the ref + in the remote repository is to be updated. + -The 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 side represents the destination location. +The 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 is used -to fast forward the remote ref that matches . If -the optional leading plus `+` is used, the remote ref is updated -even if it does not result in a fast forward update. +The 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 `:` is omitted, the same ref as will be +updated. + -`tag ` means the same as `refs/tags/:refs/tags/`. +The object referenced by is used to fast forward the ref +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 parameter (without a colon and a destination) pushes -the to the same name in the destination repository. +`tag ` means the same as `refs/tags/:refs/tags/`. + Pushing an empty allows you to delete the ref from the remote repository. @@ -190,9 +192,9 @@ git push origin master:: with it. If `master` did not exist remotely, it would be created. -git push origin :experimental:: - Find a ref that matches `experimental` in the `origin` repository - (e.g. `refs/heads/experimental`), and delete it. +git push origin HEAD:: + A handy way to push the current branch to the same name on the + remote. git push origin master:satellite/master dev:satellite/dev:: Use the source ref that matches `master` (e.g. `refs/heads/master`) @@ -200,6 +202,11 @@ git push origin master:satellite/master dev:satellite/dev:: `refs/remotes/satellite/master`) in the `origin` repository, then do the same for `dev` and `satellite/dev`. +git push origin HEAD:master:: + Push the current branch to the remote ref matching `master` in the + `origin` repository. This form is convenient to push the current + branch without thinking about its local name. + git push origin master:refs/heads/experimental:: Create the branch `experimental` in the `origin` repository by copying the current `master` branch. This form is only @@ -207,6 +214,11 @@ git push origin master:refs/heads/experimental:: the local name and the remote name are different; otherwise, the ref name on its own will work. +git push origin :experimental:: + Find a ref that matches `experimental` in the `origin` repository + (e.g. `refs/heads/experimental`), and delete it. + + Author ------ Written by Junio C Hamano , later rewritten in C