summaryrefslogtreecommitdiff
path: root/Documentation/git-merge.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-03-21 22:57:48 +0100
committerJunio C Hamano <gitster@pobox.com>2013-03-21 15:47:38 -0700
commit77c72780edfa5e3858423366fc91699724793b39 (patch)
treea99b3e5cd412ea5ddd2c4119d5c88d49d3dbabec /Documentation/git-merge.txt
parent5d417842efeafb6e109db7574196901c4e95d273 (diff)
downloadgit-77c72780edfa5e3858423366fc91699724793b39.tar.gz
Documentation: merging a tag is a special case
When asking Git to merge a tag (such as a signed tag or annotated tag), it will always create a merge commit even if fast-forward was possible. It's like having --no-ff present on the command line. It's a difference from the default behavior described in git-merge.txt. It should be documented as an exception of "FAST-FORWARD MERGE" section and "--ff" option description. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Reviewed-by: Yann Droneaud <ydroneaud@opteya.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-merge.txt')
-rw-r--r--Documentation/git-merge.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index d34ea3c50b..7780863398 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -170,6 +170,30 @@ happens:
If you tried a merge which resulted in complex conflicts and
want to start over, you can recover with `git merge --abort`.
+MERGING TAG
+-----------
+
+When merging an annotated (and possibly signed) tag, Git always
+creates a merge commit even if a fast-forward merge is possible, and
+the commit message template is prepared with the tag message.
+Additionally, if the tag is signed, the signature check is reported
+as a comment in the message template. See also linkgit:git-tag[1].
+
+When you want to just integrate with the work leading to the commit
+that happens to be tagged, e.g. synchronizing with an upstream
+release point, you may not want to make an unnecessary merge commit.
+
+In such a case, you can "unwrap" the tag yourself before feeding it
+to `git merge`, or pass `--ff-only` when you do not have any work on
+your own. e.g.
+
+---
+git fetch origin
+git merge v1.2.3^0
+git merge --ff-only v1.2.3
+---
+
+
HOW CONFLICTS ARE PRESENTED
---------------------------