mirror of
https://github.com/git/git.git
synced 2024-12-01 05:54:16 +08:00
d387868a7d
Even though 1.7.9.x series does not open the editor by default when merging in general, it does do so in one occassion: when merging an annotated tag. And worse yet, there is no good way for older scripts to decline this. Backport the support for GIT_MERGE_AUTOEDIT environment variable from 1.7.10 track to help those stuck on 1.7.9.x maintenance track. Signed-off-by: Junio C Hamano <gitster@pobox.com>
108 lines
3.3 KiB
Plaintext
108 lines
3.3 KiB
Plaintext
--commit::
|
|
--no-commit::
|
|
Perform the merge and commit the result. This option can
|
|
be used to override --no-commit.
|
|
+
|
|
With --no-commit perform the merge but pretend the merge
|
|
failed and do not autocommit, to give the user a chance to
|
|
inspect and further tweak the merge result before committing.
|
|
|
|
--edit::
|
|
--no-edit::
|
|
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). The `--edit` 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.
|
|
+
|
|
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 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
|
|
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.
|
|
|
|
--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.
|
|
|
|
--log[=<n>]::
|
|
--no-log::
|
|
In addition to branch names, populate the log message with
|
|
one-line descriptions from at most <n> actual commits that are being
|
|
merged. See also linkgit:git-fmt-merge-msg[1].
|
|
+
|
|
With --no-log do not list one-line descriptions from the
|
|
actual commits being merged.
|
|
|
|
|
|
--stat::
|
|
-n::
|
|
--no-stat::
|
|
Show a diffstat at the end of the merge. The diffstat is also
|
|
controlled by the configuration option merge.stat.
|
|
+
|
|
With -n or --no-stat do not show a diffstat at the end of the
|
|
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).
|
|
+
|
|
With --no-squash perform the merge and commit the result. This
|
|
option can be used to override --squash.
|
|
|
|
-s <strategy>::
|
|
--strategy=<strategy>::
|
|
Use the given merge strategy; can be supplied more than
|
|
once to specify them in the order they should be tried.
|
|
If there is no `-s` option, a built-in list of strategies
|
|
is used instead ('git merge-recursive' when merging a single
|
|
head, 'git merge-octopus' otherwise).
|
|
|
|
-X <option>::
|
|
--strategy-option=<option>::
|
|
Pass merge strategy specific option through to the merge
|
|
strategy.
|
|
|
|
--summary::
|
|
--no-summary::
|
|
Synonyms to --stat and --no-stat; these are deprecated and will be
|
|
removed in the future.
|
|
|
|
ifndef::git-pull[]
|
|
-q::
|
|
--quiet::
|
|
Operate quietly. Implies --no-progress.
|
|
|
|
-v::
|
|
--verbose::
|
|
Be verbose.
|
|
|
|
--progress::
|
|
--no-progress::
|
|
Turn progress on/off explicitly. If neither is specified,
|
|
progress is shown if standard error is connected to a terminal.
|
|
Note that not all merge strategies may support progress
|
|
reporting.
|
|
|
|
endif::git-pull[]
|