git am
Wendet Patches aus E-Mail-Dateien als Commits an
Der Befehl 'git am' (apply mailbox) nimmt mit git format-patch erstellte Patch-Dateien und macht aus jeder einen Commit — mit ursprünglichem Autor, Datum und Nachricht. Er ist die Empfängerseite von Beiträgen per E-Mail. Lässt sich ein Patch nicht mehr anwenden, hält git am an; korrigiere und führe git am --continue aus, oder brich mit git am --abort ab.
Syntax
git am [--signoff] [--3way] [<mbox> | <patch-file>...]
git am (--continue | --skip | --abort)Optionen
Die richtige Option wählen
Patches anwenden
Dateien oder Commits?
| Befehl | Erstellt einen Commit |
|---|---|
git apply fix.patch | Nein — nur Dateien |
git am fix.patch | Ja — mit dem ursprünglichen Autor |
Beispiele
Patches anwenden
git am 0001-*.patchJede Datei wird zu einem Commit.
Deine Signatur ergänzen
git am -s 0001-fix.patchHängt Signed-off-by mit deinem Namen an.
Einen fehlgeschlagenen Lauf stoppen
git am --abortAlles wie vorher.
Workflow-Beispiele
git switch -c review mainEin Branch zum Testen
git am ~/patches/*.patchAnwenden
git log --oneline main..Prüfen, was angekommen ist
Fehlerbehebung
error: patch failed … patch does not apply
Ursache: Deine Dateien weichen vom Kontext des Patches ab
git am --abort, dann mit --3way erneut versuchen, oder um einen neu gebasten Patch bitten
Tipps & Stolperfallen
Best Practices
- ✓Wende Patches auf einem frischen Branch an, nicht direkt auf main.
Häufige Fehler
- ✗git apply nutzen, obwohl du Commits willst — apply ändert nur Dateien.
- ✗Ein fehlgeschlagenes git am halb fertig lassen: beende es mit --continue oder --abort.
FAQ
Es steht für „apply mailbox": es liest Patches im E-Mail-Format (mbox).