Zoeken…


Syntaxis

  • 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 = <path>] [- include = <pad>] [--reject] [-q | --quiet] [- [no-] schaar] [-S [<keyid>]] [--patch-format = <format>] [(<mbox> | <Maildir>) ...]
  • git am (--continue | --skip | --abort)

parameters

Parameter Details
(<Mbox> | <Maildir>) ... De lijst met mailboxbestanden om patches te lezen. Als u dit argument niet opgeeft, wordt de opdracht gelezen uit de standaardinvoer. Als u mappen opgeeft, worden deze behandeld als Maildirs.
-s, - afmelding Voeg een Signed-off-by: regel toe aan het commit bericht, gebruik de committer identiteit van jezelf.
- q, - stil Wees stil. Alleen printfoutmeldingen.
-u, --utf8 Geef -u vlag door om git mailinfo te git mailinfo . Het voorgestelde COMMIT-logbericht uit de e-mail wordt opnieuw gecodeerd in UTF-8-codering (configuratievariabele i18n.commitencoding kan worden gebruikt om de voorkeurscodering van het project op te geven als het geen UTF-8 is). U kunt --no-utf8 gebruiken om dit te overschrijven.
--no-utf8 Geef -n vlag door om mailinfo te verzenden.
-3, - weg Als de patch niet netjes wordt aangebracht, valt u terug op 3-weg samenvoegen als de patch de identiteit van blobs registreert waarop deze moet worden toegepast en we die blobs lokaal beschikbaar hebben.
--ignore-date, --ignore-space-change, --ignore-whitespace, --whitespace = <option>, -C <n>, -p <n>, --directory = <dir>, - exclude = <pad>, --include = <pad>, --reject Deze vlaggen worden doorgegeven aan het git apply-programma dat de patch toepast.
--patch-formaat Standaard zal de opdracht proberen het patch-formaat automatisch te detecteren. Met deze optie kan de gebruiker de automatische detectie omzeilen en het patchformaat specificeren dat de patch (s) moet interpreteren. Geldige formaten zijn mbox , stgit , stgit-series en hg .
-i, - interactief Ren interactief.
--committer-date-is-auteur-date Standaard registreert de opdracht de datum uit het e-mailbericht als de datum van de commit-auteur en gebruikt het tijdstip van het maken van de commit als de datum van de committer. Hierdoor kan de gebruiker liegen over de datum van de committer door dezelfde waarde te gebruiken als de datum van de auteur.
--ignore-date Standaard registreert de opdracht de datum uit het e-mailbericht als de datum van de commit-auteur en gebruikt het tijdstip van het maken van de commit als de datum van de committer. Hierdoor kan de gebruiker liegen over de datum van de auteur door dezelfde waarde te gebruiken als de datum van de committer.
--overspringen Sla de huidige patch over. Dit is alleen zinvol wanneer een afgebroken patch opnieuw wordt gestart.
-S [<keyid>], --gpg-sign [= <keyid>] GPG-teken verbindt zich.
- ga door, -r, - opgelost Na een patchfout (bijvoorbeeld een conflicterende patch proberen toe te passen), heeft de gebruiker deze handmatig toegepast en slaat het indexbestand het resultaat van de applicatie op. Maak een commit met behulp van het auteurschap en de commit-log geëxtraheerd uit het e-mailbericht en het huidige indexbestand, en ga verder.
--resolvemsg = <msg> Wanneer een patch optreedt, <msg> wordt naar het scherm voor het verlaten. Dit vervangt het standaardbericht dat u informeert om --continue of --skip te gebruiken om de fout te verwerken. Dit is uitsluitend voor intern gebruik tussen git rebase en git am .
--abort Herstel de oorspronkelijke vertakking en beëindig de patchbewerking.

Een patch maken

Om een patch te maken, zijn er twee stappen.

  1. Breng uw wijzigingen aan en leg ze vast.
  2. Voer git format-patch <commit-reference> uit om alle commits sinds de commit <commit-reference> (niet inbegrepen) in patchbestanden te converteren.

Als bijvoorbeeld patches moeten worden gegenereerd van de laatste twee commits:

git format-patch HEAD~~ 

Dit zal 2 bestanden creëren, één voor elke commit sinds HEAD~~ , zoals dit:

0001-hello_world.patch
0002-beginning.patch

Patches aanbrengen

We kunnen git apply some.patch om de wijzigingen van het .patch bestand op je huidige werkmap toe te passen. Ze zullen niet worden opgevoerd en moeten worden gecommitteerd.

Gebruik om een patch als een commit toe te passen (met zijn commit-bericht)

git am some.patch

Alle patch-bestanden op de structuur toepassen:

git am *.patch


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow