path: root/Documentation/git-merge.txt
diff options
authorJunio C Hamano <>2006-11-20 09:06:09 (GMT)
committerJunio C Hamano <>2006-11-22 04:55:40 (GMT)
commit17bcdad3b7baa3b12c662663372f1e3cd560dd8e (patch)
treea5ce72aeec79df021d5b57163c44cdde69a329f6 /Documentation/git-merge.txt
parent7cdbff14d4823c3a3d64c2011ab0b23f794efef8 (diff)
git-merge: make it usable as the first class UI
This teaches the oft-requested syntax git merge $commit to implement merging the named commit to the current branch. This hopefully would make "git merge" usable as the first class UI instead of being a mere backend for "git pull". Most notably, $commit above can be any committish, so you can say for example: git merge js/shortlog~2 to merge early part of a topic branch without merging the rest of it. A custom merge message can be given with the new --message=<msg> parameter. The message is prepended in front of the usual "Merge ..." message autogenerated with fmt-merge-message. Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-merge.txt')
1 files changed, 13 insertions, 5 deletions
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index bebf30a..e2954aa 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -8,12 +8,14 @@ git-merge - Grand Unified Merge Driver
-'git-merge' [-n] [--no-commit] [-s <strategy>]... <msg> <head> <remote> <remote>...
+'git-merge' [-n] [--no-commit] [--squash] [-s <strategy>]...
+ [--reflog-action=<action>]
+ -m=<msg> <remote> <remote>...
-This is the top-level user interface to the merge machinery
+This is the top-level interface to the merge machinery
which drives multiple merge strategy scripts.
@@ -27,13 +29,19 @@ include::merge-options.txt[]
to give a good default for automated `git-merge` invocations.
- our branch head commit.
+ Our branch head commit. This has to be `HEAD`, so new
+ syntax does not require it
- other branch head merged into our branch. You need at
+ Other branch head merged into our branch. You need at
least one <remote>. Specifying more than one <remote>
obviously means you are trying an Octopus.
+ This is used internally when `git-pull` calls this command
+ to record that the merge was created by `pull` command
+ in the `ref-log` entry that results from the merge.