summaryrefslogtreecommitdiff
path: root/Documentation/merge-options.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/merge-options.txt')
-rw-r--r--Documentation/merge-options.txt44
1 files changed, 27 insertions, 17 deletions
diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
index 5afc99f650..f08e9b80c5 100644
--- a/Documentation/merge-options.txt
+++ b/Documentation/merge-options.txt
@@ -8,19 +8,24 @@ failed and do not autocommit, to give the user a chance to
inspect and further tweak the merge result before committing.
--edit::
+-e::
--no-edit::
- Invoke editor before committing successful merge to further
- edit the default merge message. The `--no-edit` option can be
+ Invoke an editor before committing successful mechanical merge to
+ further edit the auto-generated merge message, so that the user
+ can explain and justify the merge. The `--no-edit` option can be
used to accept the auto-generated message (this is generally
- discouraged) when merging an annotated tag, in which case
- `git merge` automatically spawns the editor so that the result
- of the GPG verification of the tag can be seen.
+ discouraged).
+ifndef::git-pull[]
+The `--edit` (or `-e`) option is still useful if you are
+giving a draft message with the `-m` option from the command line
+and want to edit it in the editor.
+endif::git-pull[]
+
Older scripts may depend on the historical behaviour of not allowing the
user to edit the merge log message. They will see an editor opened when
-they run `git merge` to merge an annotated tag. To make it easier to adjust
-such scripts to the updated behaviour, the environment variable
-`GIT_MERGE_AUTOEDIT` can be set to `no` at the beginning of them.
+they run `git merge`. To make it easier to adjust such scripts to the
+updated behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be
+set to `no` at the beginning of them.
--ff::
When the merge resolves as a fast-forward, only update the branch
@@ -29,7 +34,8 @@ such scripts to the updated behaviour, the environment variable
--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
@@ -57,14 +63,13 @@ merge.
--squash::
--no-squash::
- Produce the working tree and index state as if a real
- merge happened (except for the merge information),
- but do not actually make a commit or
- move the `HEAD`, nor record `$GIT_DIR/MERGE_HEAD` to
- cause the next `git commit` command to create a merge
- commit. This allows you to create a single commit on
- top of the current branch whose effect is the same as
- merging another branch (or more in case of an octopus).
+ Produce the working tree and index state as if a real merge
+ happened (except for the merge information), but do not actually
+ make a commit, move the `HEAD`, or record `$GIT_DIR/MERGE_HEAD`
+ (to cause the next `git commit` command to create a merge
+ commit). This allows you to create a single commit on top of
+ the current branch whose effect is the same as merging another
+ branch (or more in case of an octopus).
+
With --no-squash perform the merge and commit the result. This
option can be used to override --squash.
@@ -82,6 +87,11 @@ option can be used to override --squash.
Pass merge strategy specific option through to the merge
strategy.
+--verify-signatures::
+--no-verify-signatures::
+ Verify that the commits being merged have good and trusted GPG signatures
+ and abort the merge in case they do not.
+
--summary::
--no-summary::
Synonyms to --stat and --no-stat; these are deprecated and will be