git-merge-index.1 (3963B)
- '\" 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-03-14
- .\" Manual: Git Manual
- .\" Source: Git 2.49.0
- .\" Language: English
- .\"
- .TH "GIT\-MERGE\-INDEX" "1" "2025-03-14" "Git 2\&.49\&.0" "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