Suche…


Syntax

  • git am [--signoff] [--keep] [- [no-] keep-cr] [- [no-] utf8] [--3way] [--interactive] [--committer-date-is -author-date] [--ignore-date] [--ignore-space-change | --ignore-whitespace] [--whitespace = <option>] [-C <n>] [-p <n>] [--directory = <dir>] [--exclude = <Pfad>] [- include = <Pfad>] [--reject] [-q | --quiet] [- [keine-] Schere] [-S [<keyid>]] [--patch-format = <format>] [(<mbox> | <Maildir>) ...]
  • git am (--continue | --skip | --abort)

Parameter

Parameter Einzelheiten
(<mbox> | <Maildir>) ... Die Liste der Postfachdateien, aus denen Patches gelesen werden sollen. Wenn Sie dieses Argument nicht angeben, liest der Befehl die Standardeingabe. Wenn Sie Verzeichnisse angeben, werden diese als Maildirs behandelt.
-s, --signoff Fügen Sie der Commit-Nachricht eine Signed-off-by-Zeile hinzu, wobei Sie die Committer-Identität Ihrer Person verwenden.
-q, --quiet Ruhe. Nur Fehlermeldungen drucken.
-u, --utf8 git mailinfo -u an git mailinfo . Die vorgeschlagene Commit-Protokollnachricht aus der E-Mail wird in UTF-8-Codierung i18n.commitencoding (die Konfigurationsvariable i18n.commitencoding kann verwendet werden, um die bevorzugte Codierung des Projekts anzugeben, wenn sie nicht UTF-8 ist). Sie können --no-utf8 , um dies zu überschreiben.
--no-utf8 Übergeben Sie die Option -n an git mailinfo.
-3, - 3-Wege Wenn der Patch nicht sauber angewendet wird, greifen Sie auf die 3-Wege-Zusammenführung zurück, wenn der Patch die Identität der Blobs aufzeichnet, für die er gelten soll, und wir diese lokal verfügbar haben.
--ignore-date, --ignore-space-change, --ignore-whitespace, --whitespace = <option>, -C <n>, -p <n>, --directory = <dir>, - exclude = <Pfad>, --include = <Pfad>, --reject Diese Flags werden an das Programm git apply übergeben, das den Patch anwendet.
--Patch-Format Standardmäßig versucht der Befehl, das Patch-Format automatisch zu erkennen. Mit dieser Option kann der Benutzer die automatische Erkennung umgehen und das Patch-Format angeben, als das / die Patch (e) interpretiert werden sollen. Gültige Formate sind mbox , stgit , stgit-series und hg .
-i, --interaktiv Führen Sie interaktiv aus.
--committer-date-is-author-date Standardmäßig zeichnet der Befehl das Datum aus der E-Mail-Nachricht als Commit-Autor-Datum auf und verwendet den Zeitpunkt der Commit-Erstellung als Committer-Datum. Auf diese Weise kann der Benutzer das Committer-Datum lügen, indem er denselben Wert wie das Autor-Datum verwendet.
--ignore-date Standardmäßig zeichnet der Befehl das Datum aus der E-Mail-Nachricht als Commit-Autor-Datum auf und verwendet den Zeitpunkt der Commit-Erstellung als Committer-Datum. Auf diese Weise kann der Benutzer über das Autorendatum lügen, indem er denselben Wert wie das Committerdatum verwendet.
--überspringen Überspringe den aktuellen Patch. Dies ist nur beim Neustart eines abgebrochenen Patches von Bedeutung.
-S [<keyid>], --gpg-sign [= <keyid>] GPG-Zeichen wird festgelegt.
--continue, -r, --gelöst Nach einem Patch-Fehler (z. B. beim Versuch, einen in Konflikt stehenden Patch anzuwenden), hat der Benutzer diesen manuell angewendet und die Indexdatei speichert das Ergebnis der Anwendung. Machen Sie ein Commit mit dem Urheberschafts- und Commit-Protokoll, das aus der E-Mail-Nachricht und der aktuellen Indexdatei extrahiert wurde, und fahren Sie fort.
--resolvemsg = <msg> Wenn ein Patch-Fehler auftritt, wird <msg> vor dem Beenden auf dem Bildschirm angezeigt. Dies überschreibt die Standardnachricht, in der Sie darüber informiert werden, dass Sie --continue oder --skip , um den Fehler zu --continue . Dies ist ausschließlich für den internen Gebrauch zwischen git rebase und git am .
--abbrechen Stellen Sie den ursprünglichen Zweig wieder her und brechen Sie den Patch-Vorgang ab.

Patch erstellen

Um einen Patch zu erstellen, gibt es zwei Schritte.

  1. Nehmen Sie Ihre Änderungen vor und legen Sie sie fest.
  2. Führen Sie git format-patch <commit-reference> , um alle Commits seit dem commit <commit-reference> (nicht eingeschlossen) in Patch-Dateien zu konvertieren.

Wenn zum Beispiel Patches aus den letzten beiden Commits generiert werden sollen:

git format-patch HEAD~~ 

Dadurch werden 2 Dateien erstellt, eine für jedes Commit seit HEAD~~ wie folgt:

0001-hello_world.patch
0002-beginning.patch

Patches anwenden

Wir können git apply some.patch , um die Änderungen der .patch Datei auf Ihr aktuelles Arbeitsverzeichnis anzuwenden. Sie werden nicht inszeniert und müssen begangen werden.

Um einen Patch als Commit (mit der Commit-Nachricht) anzuwenden, verwenden Sie

git am some.patch

So wenden Sie alle Patch-Dateien auf die Baumstruktur an:

git am *.patch


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow