Merge branch 'jk/rebase-i-comment-char'
[git.git] / Documentation / git-push.txt
index 8b637d339f522e9dd6f3310efdc0691c5bcb14bf..13980257eecd3e275641c1ba3262f4d4489f77ff 100644 (file)
@@ -51,10 +51,11 @@ be named. If `:`<dst> is omitted, the same ref as <src> will be
 updated.
 +
 The object referenced by <src> is used to update the <dst> reference
-on the remote side, but by default this is only allowed if the
-update can fast-forward <dst>.  By having the optional leading `+`,
-you can tell git to update the <dst> ref even when the update is not a
-fast-forward.  This does *not* attempt to merge <src> into <dst>.  See
+on the remote side.  By default this is only allowed if <dst> is not
+a tag (annotated or lightweight), and then only if it can fast-forward
+<dst>.  By having the optional leading `+`, you can tell Git to update
+the <dst> ref even if it is not allowed by default (e.g., it is not a
+fast-forward.)  This does *not* attempt to merge <src> into <dst>.  See
 EXAMPLES below for details.
 +
 `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
@@ -63,7 +64,7 @@ Pushing an empty <src> allows you to delete the <dst> ref from
 the remote repository.
 +
 The special refspec `:` (or `+:` to allow non-fast-forward updates)
-directs git to push "matching" branches: for every branch that exists on
+directs Git to push "matching" branches: for every branch that exists on
 the local side, the remote side is updated if a branch of the same name
 already exists on the remote side.  This is the default operation mode
 if no explicit refspec is found (that is neither on the command line
@@ -176,7 +177,7 @@ useful if you write an alias or script around 'git push'.
 --recurse-submodules=check|on-demand::
        Make sure all submodule commits used by the revisions to be
        pushed are available on a remote-tracking branch. If 'check' is
-       used git will verify that all submodule commits that changed in
+       used Git will verify that all submodule commits that changed in
        the revisions to be pushed are available on at least one remote
        of the submodule. If any commits are missing the push will be
        aborted and exit with non-zero status. If 'on-demand' is used
@@ -191,7 +192,7 @@ OUTPUT
 ------
 
 The output of "git push" depends on the transport method used; this
-section describes the output when pushing over the git protocol (either
+section describes the output when pushing over the Git protocol (either
 locally or via ssh).
 
 The status of the push is output in tabular form, with each line