@@ -40,20 +40,24 @@ set to `no` at the beginning of them.
40
40
case of a merge conflict.
41
41
42
42
--ff::
43
- When the merge resolves as a fast-forward, only update the branch
44
- pointer, without creating a merge commit. This is the default
45
- behavior.
46
-
47
43
--no-ff::
48
- Create a merge commit even when the merge resolves as a
49
- fast-forward. This is the default behaviour when merging an
50
- annotated (and possibly signed) tag that is not stored in
51
- its natural place in 'refs/tags/' hierarchy.
52
-
53
44
--ff-only::
54
- Refuse to merge and exit with a non-zero status unless the
55
- current `HEAD` is already up to date or the merge can be
56
- resolved as a fast-forward.
45
+ Specifies how a merge is handled when the merged-in history is
46
+ already a descendant of the current history. `--ff` is the
47
+ default unless merging an annotated (and possibly signed) tag
48
+ that is not stored in its natural place in the `refs/tags/`
49
+ hierarchy, in which case `--no-ff` is assumed.
50
+ +
51
+ With `--ff`, when possible resolve the merge as a fast-forward (only
52
+ update the branch pointer to match the merged branch; do not create a
53
+ merge commit). When not possible (when the merged-in history is not a
54
+ descendant of the current history), create a merge commit.
55
+ +
56
+ With `--no-ff`, create a merge commit in all cases, even when the merge
57
+ could instead be resolved as a fast-forward.
58
+ +
59
+ With `--ff-only`, resolve the merge as a fast-forward when possible.
60
+ When not possible, refuse to merge and exit with a non-zero status.
57
61
58
62
-S[<keyid>]::
59
63
--gpg-sign[=<keyid>]::
0 commit comments