Avoid scary errors about tagged trees/blobs during git-fetch
[gitweb.git] / Documentation / git-push.txt
index 665f6dc709207725daa9e7dd81d150a9aac0f7cb..6bc559ddd80e2fa8b3f4fdf57fa4f5ce14eb53af 100644 (file)
@@ -48,7 +48,7 @@ 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 <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
@@ -61,7 +61,7 @@ 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
@@ -79,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.
 
@@ -95,7 +95,7 @@ the remote repository.
 -v::
        Run verbosely.
 
-include::urls.txt[]
+include::urls-remotes.txt[]
 
 
 Examples
@@ -117,6 +117,12 @@ git push origin master:satellite/master::
        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
 ------
 Written by Junio C Hamano <junkio@cox.net>, later rewritten in C