aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/merge-options.txt
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2019-08-30 17:23:13 -0700
committerJunio C Hamano <gitster@pobox.com>2019-09-01 08:53:39 -0700
commit27fd1e4ea70f3787c016f3b7ab75c52aa11a753d (patch)
tree9e926530f2db7738f94ddac1e1d23fbf784692fb /Documentation/merge-options.txt
parent75b2f01a0f642b39b0f29b6218515df9b5eb798e (diff)
downloadgit-27fd1e4ea70f3787c016f3b7ab75c52aa11a753d.tar.gz
merge-options.txt: clarify meaning of various ff-related options
As discovered on the mailing list, some of the descriptions of the ff-related options were unclear. Try to be more precise with what these options do. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/merge-options.txt')
-rw-r--r--Documentation/merge-options.txt28
1 files changed, 16 insertions, 12 deletions
diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
index 79a00d2a4a..94be34f941 100644
--- a/Documentation/merge-options.txt
+++ b/Documentation/merge-options.txt
@@ -40,20 +40,24 @@ set to `no` at the beginning of them.
case of a merge conflict.
--ff::
- When the merge resolves as a fast-forward, only update the branch
- pointer, without creating a merge commit. This is the default
- behavior.
-
--no-ff::
- Create a merge commit even when the merge resolves as a
- fast-forward. This is the default behaviour when merging an
- annotated (and possibly signed) tag that is not stored in
- its natural place in 'refs/tags/' hierarchy.
-
--ff-only::
- Refuse to merge and exit with a non-zero status unless the
- current `HEAD` is already up to date or the merge can be
- resolved as a fast-forward.
+ Specifies how a merge is handled when the merged-in history is
+ already a descendant of the current history. `--ff` is the
+ default unless merging an annotated (and possibly signed) tag
+ that is not stored in its natural place in the `refs/tags/`
+ hierarchy, in which case `--no-ff` is assumed.
++
+With `--ff`, when possible resolve the merge as a fast-forward (only
+update the branch pointer to match the merged branch; do not create a
+merge commit). When not possible (when the merged-in history is not a
+descendant of the current history), create a merge commit.
++
+With `--no-ff`, create a merge commit in all cases, even when the merge
+could instead be resolved as a fast-forward.
++
+With `--ff-only`, resolve the merge as a fast-forward when possible.
+When not possible, refuse to merge and exit with a non-zero status.
-S[<keyid>]::
--gpg-sign[=<keyid>]::