aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-push.txt
diff options
context:
space:
mode:
authorChris Rorvick <chris@rorvick.com>2012-11-29 19:41:37 -0600
committerJunio C Hamano <gitster@pobox.com>2012-12-02 01:44:34 -0800
commitdbfeddb12e5bb540ed3c852eebda3df9117bd150 (patch)
tree7c5c6582390c7dabd839b72fafd074b4323b23d9 /Documentation/git-push.txt
parent8c5f6f717d136c5a0e9d6d3879bf2a7bdeb42154 (diff)
downloadgit-dbfeddb12e5bb540ed3c852eebda3df9117bd150.tar.gz
push: require force for refs under refs/tags/
References are allowed to update from one commit-ish to another if the former is an ancestor of the latter. This behavior is oriented to branches which are expected to move with commits. Tag references are expected to be static in a repository, though, thus an update to something under refs/tags/ should be rejected unless the update is forced. Signed-off-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-push.txt')
-rw-r--r--Documentation/git-push.txt11
1 files changed, 6 insertions, 5 deletions
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index fe46c4258a..09bdec75bc 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -51,11 +51,12 @@ 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
-EXAMPLES below for details.
+on the remote side. By default this is only allowed if <dst> is not
+under refs/tags/, 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>`.
+