X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-push.txt;h=6bc559ddd80e2fa8b3f4fdf57fa4f5ce14eb53af;hb=e66273a6abb8e9cd0967d52113e29c8014a255f8;hp=366c5dbdce69854e7cc1e085cdf53e0e88f7bcb2;hpb=abc403f58452da667b261274a1091af61dfec35c;p=git.git diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 366c5dbdc..6bc559ddd 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -48,21 +48,20 @@ even if it does not result in a fast forward update. Note: If no explicit refspec is found, (that is neither on the command line nor in any Push line of the corresponding remotes file---see below), then all the -refs that exist both on the local side and on the remote +heads that exist both on the local side and on the remote side are updated. + `tag ` means the same as `refs/tags/:refs/tags/`. + -A parameter without a colon is equivalent to -`:`, hence updates in the destination from -in the source. +A parameter without a colon pushes the from the source +repository to the destination repository under the same name. + Pushing an empty allows you to delete the ref from the remote repository. \--all:: Instead of naming each ref to push, specifies that all - refs be pushed. + refs under `$GIT_DIR/refs/heads/` be pushed. \--tags:: All refs under `$GIT_DIR/refs/tags` are pushed, in @@ -80,7 +79,7 @@ the remote repository. -f, \--force:: Usually, the command refuses to update a remote ref that is - not a descendant of the local ref used to overwrite it. + not an ancestor of the local ref used to overwrite it. This flag disables the check. This can cause the remote repository to lose commits; use it with care. @@ -96,7 +95,33 @@ the remote repository. -v:: Run verbosely. -include::urls.txt[] +include::urls-remotes.txt[] + + +Examples +-------- + +git push origin master:: + Find a ref that matches `master` in the source repository + (most likely, it would find `refs/heads/master`), and update + the same ref (e.g. `refs/heads/master`) in `origin` repository + with it. + +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 master:satellite/master:: + Find a ref that matches `master` in the source repository + (most likely, it would find `refs/heads/master`), and update + the ref that matches `satellite/master` (most likely, it would + be `refs/remotes/satellite/master`) in `origin` repository with it. + +git push origin master:refs/heads/experimental:: + Create the branch `experimental` in the `origin` repository + by copying the current `master` branch. This form is usually + needed to create a new branch in the remote repository as + there is no `experimental` branch to match. Author ------