English ▾ Themen ▾ Neueste Version ▾ git-merge-index zuletzt aktualisiert in 2.35.0

NAME

git-merge-index - Führt eine Zusammenführung für Dateien durch, die zusammengeführt werden müssen

SYNOPSIS

git merge-index [-o] [-q] <merge-program> (-a | ( [--] <file>…​) )

BESCHREIBUNG

Dies sucht die <file>(s) im Index und, falls Merge-Einträge vorhanden sind, übergibt den SHA-1-Hash für diese Dateien als Argumente 1, 2, 3 (leeres Argument, falls keine Datei) und <file> als Argument 4. Dateimodus für die drei Dateien werden als Argumente 5, 6 und 7 übergeben.

OPTIONEN

--

Interpretiere keine weiteren Argumente mehr als Optionen.

-a

Führt eine Zusammenführung für alle Dateien im Index durch, die zusammengeführt werden müssen.

-o

Anstatt bei der ersten fehlgeschlagenen Zusammenführung zu stoppen, führen Sie alle auf einmal durch – fahren Sie mit dem Zusammenführen fort, auch wenn frühere Zusammenführungen Fehler zurückgegeben haben, und geben Sie den Fehlercode erst nach allen Zusammenführungen zurück.

-q

Beschweren Sie sich nicht über ein fehlgeschlagenes Merge-Programm (ein Fehler des Merge-Programms deutet normalerweise auf Konflikte während der Zusammenführung hin). Dies ist für Porcelains, die benutzerdefinierte Nachrichten ausgeben möchten.

Wenn git merge-index mit mehreren <file>s (oder -a) aufgerufen wird, verarbeitet es diese nacheinander und stoppt nur, wenn die Zusammenführung einen nicht-null Exit-Code zurückgibt.

Typischerweise wird dies mit einem Skript ausgeführt, das Git's Nachahmung des merge-Befehls aus dem RCS-Paket aufruft.

Ein Beispielskript namens git merge-one-file ist in der Distribution enthalten.

ALARM ALARM ALARM! Die Git "Merge Object Order" unterscheidet sich von der RCS merge Programm Merge Object Order. In der obigen Reihenfolge ist das Original zuerst. Aber die Argumentreihenfolge für das 3-Wege-Merge-Programm merge sieht das Original in der Mitte vor. Fragen Sie mich nicht warum.

Beispiele

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

oder

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

wobei das letztere Beispiel zeigt, wie git merge-index aufhört zu versuchen, zusammenzuführen, sobald etwas einen Fehler zurückgegeben hat (d. h. cat gab einen Fehler für die AA-Datei zurück, da sie im Original nicht vorhanden war, und somit git merge-index nicht einmal versuchte, das MM-Ding zusammenzuführen).

GIT

Teil der git[1] Suite