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>
This commit is contained in:
parent
5d417842ef
commit
77c72780ed
@ -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
|
||||
---------------------------
|
||||
|
||||
|
@ -30,7 +30,8 @@ set to `no` at the beginning of them.
|
||||
|
||||
--no-ff::
|
||||
Create a merge commit even when the merge resolves as a
|
||||
fast-forward.
|
||||
fast-forward. This is the default behaviour when merging an
|
||||
annotated (and possibly signed) tag.
|
||||
|
||||
--ff-only::
|
||||
Refuse to merge and exit with a non-zero status unless the
|
||||
|
Loading…
Reference in New Issue
Block a user