'\" t
.\"     Title: git-merge-index
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
.\"      Date: 2025-10-13
.\"    Manual: Git Manual
.\"    Source: Git 2.51.0.511.gac7d021f06
.\"  Language: English
.\"
.TH "GIT\-MERGE\-INDEX" "1" "2025-10-13" "Git 2\&.51\&.0\&.511\&.gac7d02" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-merge-index \- Run a merge for files needing merging
.SH "SYNOPSIS"
.sp
.nf
\fIgit merge\-index\fR [\-o] [\-q] <merge\-program> (\-a | ( [\-\-] <file>\&...\:) )
.fi
.SH "DESCRIPTION"
.sp
This looks up the <file>(s) in the index and, if there are any merge entries, passes the SHA\-1 hash for those files as arguments 1, 2, 3 (empty argument if no file), and <file> as argument 4\&. File modes for the three files are passed as arguments 5, 6 and 7\&.
.SH "OPTIONS"
.PP
\-\-
.RS 4
Do not interpret any more arguments as options\&.
.RE
.PP
\-a
.RS 4
Run merge against all files in the index that need merging\&.
.RE
.PP
\-o
.RS 4
Instead of stopping at the first failed merge, do all of them in one shot \- continue with merging even when previous merges returned errors, and only return the error code after all the merges\&.
.RE
.PP
\-q
.RS 4
Do not complain about a failed merge program (a merge program failure usually indicates conflicts during the merge)\&. This is for porcelains which might want to emit custom messages\&.
.RE
.sp
If \fIgit merge\-index\fR is called with multiple <file>s (or \-a) then it processes them in turn only stopping if merge returns a non\-zero exit code\&.
.sp
Typically this is run with a script calling Git\(cqs imitation of the \fImerge\fR command from the RCS package\&.
.sp
A sample script called \fIgit merge\-one\-file\fR is included in the distribution\&.
.sp
ALERT ALERT ALERT! The Git "merge object order" is different from the RCS \fImerge\fR program merge object order\&. In the above ordering, the original is first\&. But the argument order to the 3\-way merge program \fImerge\fR is to have the original in the middle\&. Don\(cqt ask me why\&.
.sp
Examples:
.sp
.if n \{\
.RS 4
.\}
.nf
torvalds@ppc970:~/merge\-test> git merge\-index cat MM
This is MM from the original tree\&.              # original
This is modified MM in the branch A\&.            # merge1
This is modified MM in the branch B\&.            # merge2
This is modified MM in the branch B\&.            # current contents
.fi
.if n \{\
.RE
.\}
.sp
or
.sp
.if n \{\
.RS 4
.\}
.nf
torvalds@ppc970:~/merge\-test> git merge\-index cat AA MM
cat: : No such file or directory
This is added AA in the branch A\&.
This is added AA in the branch B\&.
This is added AA in the branch B\&.
fatal: merge program failed
.fi
.if n \{\
.RE
.\}
.sp
where the latter example shows how \fIgit merge\-index\fR will stop trying to merge once anything has returned an error (i\&.e\&., \fBcat\fR returned an error for the AA file, because it didn\(cqt exist in the original, and thus \fIgit merge\-index\fR didn\(cqt even try to merge the MM thing)\&.
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
