Svenska ▾ Topics ▾ Latest version ▾ git-am last updated in 2.53.0

NAMN

git-am - Tillämpa en serie patchar från en brevlåda

SYNOPSIS

git am [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] [--no-verify]
	 [--[no-]3way] [--interactive] [--committer-date-is-author-date]
	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
	 [--whitespace=<handling>] [-C<n>] [-p<n>] [--directory=<kat>]
	 [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
	 [--[no-]scissors] [-S[<nyckelid>]] [--patch-format=<format>]
	 [--quoted-cr=<handling>]
	 [--empty=(stop|drop|keep)]
	 [(<mbox> | <Mejlkat>)…​]
git am (--continue | --skip | --abort | --quit | --retry | --show-current-patch[=(diff|raw)] | --allow-empty)

BESKRIVNING

Delar upp e-postmeddelanden i en inkorg i incheckning-loggmeddelanden, författarskapsinformation och patchar, och tillämpar dem på den aktuella grenen. Man kan tänka sig det som en omvänd operation av git-format-patch[1] som körs på en gren med en rak historik utan sammanslagningar.

ALTERNATIV

(<mbox>|<Mejlkat>)…​

Listan över brevlådefiler ("mailbox") att läsa patchar från. Om du inte anger detta argument läser kommandot från standardindata. Om du anger kataloger kommer de att behandlas som e-postkataloger ("Maildirs").

-s
--signoff

Lägg till en Signed-off-by-trailer till inchecknings-meddelandet, med din egen incheckare-identitet. Se signoff-alternativet i git-commit[1] för mer information.

-k
--keep

Skicka -k-flaggan till git mailinfo (se git-mailinfo[1]).

--keep-non-patch

Skicka -b-flaggan till git mailinfo (se git-mailinfo[1]).

--keep-cr
--no-keep-cr

Med --keep-cr, anropa git mailsplit (se git-mailsplit[1]) med samma alternativ, för att förhindra att CR tas bort i slutet av raderna. Konfigurationsvariabeln am.keepcr kan användas för att ange standardbeteendet. --no-keep-cr är användbar för att åsidosätta am.keepcr.

-c
--scissors

Tar bort allt i brödtexten före en saxrad (se git-mailinfo[1]). Kan aktiveras som standard med konfigurationsvariabeln mailinfo.scissors.

--no-scissors

Ignorera saxlinjer (se git-mailinfo[1]).

--quoted-cr=<handling>

Denna flagga kommer att skickas vidare till git mailinfo (se git-mailinfo[1]).

--empty=(drop|keep|stop)

Så här hanterar du ett e-postmeddelande som saknar patch:

drop

E-postmeddelandet kommer att hoppas över.

keep

En tom incheckning kommer att skapas, med innehållet i e-postmeddelandet som logg.

stop

Kommandot kommer att misslyckas och stoppas mitt i den aktuella am-sessionen. Detta är standardbeteendet.

-m
--message-id

Skicka flaggan -m till git mailinfo (se git-mailinfo[1]), så att Message-ID-rubriken läggs till i inchecknings-meddelandet. Konfigurationsvariabeln am.messageid kan användas för att ange standardbeteendet.

--no-message-id

Lägg inte till Message-ID-rubriken i inchecknings-meddelandet. no-message-id är användbart för att åsidosätta am.messageid.

-q
--quiet

Var tyst. Skriv bara ut felmeddelanden.

-u
--utf8

Skicka flaggan -u till git mailinfo (se git-mailinfo[1]). Det föreslagna inchecknings-loggmeddelandet som hämtats från e-postmeddelandet kodas om till UTF-8-kodning (konfigurationsvariabeln i18n.commitEncoding kan användas för att ange projektets föredragna kodning om den inte är UTF-8).

Detta var valfritt i tidigare versioner av git, men nu är det standardinställningen. Du kan använda --no-utf8 för att åsidosätta detta.

--no-utf8

Skicka -n-flaggan till git mailinfo (se git-mailinfo[1]).

-3
--3way
--no-3way

När patchen inte tillämpas korrekt, kan man använda 3-vägs merge om patchen registrerar identiteten på de blobbar den ska tillämpas på och vi har dessa blobbar tillgängliga lokalt. --no-3way kan användas för att åsidosätta konfigurationsvariabeln am.threeWay. För mer information, se am.threeWay i git-config[1].

--rerere-autoupdate
--no-rerere-autoupdate

Efter att rerere-mekanismen återanvänder en inspelad lösning på den aktuella konflikten för att uppdatera filerna i arbetskatalogen, tillåt den även att uppdatera indexet med resultatet av lösningen. --no-rerere-autoupdate är ett bra sätt att dubbelkolla vad rerere gjorde och upptäcka potentiella felaktiga sammanfogningar, innan resultatet sparas i indexet med ett separat git add.

--ignore-space-change
--ignore-whitespace
--whitespace=<handling>
-C<n>
-p<n>
--directory=<kat>
--exclude=<sökväg>
--include=<sökväg>
--reject

Dessa flaggor skickas till programmet git apply (se git-apply[1]) som installerar patchen.

Giltiga <handling> för --whitespace-alternativet är: nowarn, warn, fix, error och error-all.

--patch-format

Som standard försöker kommandot automatiskt identifiera patchformatet. Det här alternativet låter användaren kringgå den automatiska identifieringen och ange det patchformat som patchen/patcharna ska tolkas som. Giltiga format är mbox, mboxrd, stgit, stgit-series och hg.

-i
--interactive

Kör interaktivt.

-n
--no-verify

Som standard körs krokarna pre-applypatch och applypatch-msg. När någon av --no-verify eller -n anges, kringgås dessa. Se även githooks[5].

--committer-date-is-author-date

Som standard registrerar kommandot datumet från e-postmeddelandet som författardatum för commit, och använder tiden för inchecknings-skapandet som inchecknings-datum. Detta gör det möjligt för användaren att ljuga om inchecknings-datumet genom att använda samma värde som författardatumet.

Warning
Historikvandringsmaskineriet antar att incheckning har icke-minskande incheckning-tidsstämplar. Du bör överväga om du verkligen behöver använda det här alternativet. Då bör du bara använda det här alternativet för att åsidosätta incheckare-datumet när du tillämpar incheckningar ovanpå en bas vars incheckning är äldre (vad gäller incheckning-datum) än den äldsta patchen du tillämpar.
--ignore-date

By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the author date by using the same value as the committer date.

--skip

Hoppa över den aktuella patchen. Detta är bara meningsfullt när du startar om en avbruten patch.

-S[<nyckeld>]
--gpg-sign[=<nyckelid>]
--no-gpg-sign

GPG-signera incheckningar. Argumentet nyckelid är valfritt och används som standard för incheckningar-identiteten; om det anges måste det fästas vid alternativet utan mellanslag. --no-gpg-sign är användbart för att negligera både konfigurationsvariabeln commit.gpgSign och den tidigare --gpg-sign.

--continue
-r
--resolved

Efter ett fel på en patch (t.ex. ett försök att tillämpa en motstridig patch) har användaren tillämpat den manuellt och indexfilen lagrar resultatet av tillämpningen. Gör en incheckning med hjälp av författarskaps- och commit-loggen som extraherats från e-postmeddelandet och den aktuella indexfilen, och fortsätt.

--resolvemsg=<medd>

När ett patchfel inträffar skrivs <medd> ut på skärmen innan programmet avslutas. Detta åsidosätter standardmeddelandet som informerar dig om att använda --continue eller --skip för att hantera felet. Detta är enbart för internt bruk mellan git rebase och git am.

--abort

Återställ den ursprungliga grenen och avbryt uppdateringsåtgärden. Ångra innehållet i filer som är involverade i am-åtgärden till deras tillstånd före-am.

--quit

Abort the patching operation but keep HEAD and the index untouched.

--retry

Försök att applicera den senaste motstridiga patchen igen. Detta är generellt sett bara användbart för att skicka extra alternativ till återförsöket (t.ex. --3way), eftersom du annars bara kommer att se samma fel igen.

--show-current-patch[=(diff|raw)]

Visa meddelandet där git am har stoppats på grund av konflikter. Om raw anges, visas det råa innehållet i e-postmeddelandet; om diff anges, visas endast diff-delen. Standardinställningen är raw.

--allow-empty

Efter ett patchfel på ett e-postmeddelande som saknar patch, skapa en tom incheckning med innehållet i e-postmeddelandet som loggmeddelande.

DISKUSSION

Namnet på incheckning-författaren tas från raden "Från:" i meddelandet, och incheckning-författardatumet tas från raden "Datum:" i meddelandet. Raden "Ämne:" används som titel på incheckningen, efter att det vanliga prefixet "[PATCH <något>]" har tagits bort. Raden "Ämne:" är tänkt att kortfattat beskriva vad incheckningen handlar om i en textrad.

Raderna "Från: ", "Datum: " och "Ämne: " som börjar brödtexten åsidosätter respektive värden för incheckning-författarnamn och titel som tagits från rubrikerna.

Inchecknings-meddelandet består av titeln tagen från "Subject:", en tom rad och meddelandets brödtext fram till där patchen börjar. Överflödigt blanktecken i slutet av varje rad tas automatiskt bort.

Patchen förväntas vara inbäddad, direkt efter meddelandet. Alla rader som har formatet:

  • tre streck och radslut, eller

  • en rad som börjar med "diff -", eller

  • en rad som börjar med "Index:"

tas som början på en patch, och incheckning-loggmeddelandet avslutas innan en sådan rad förekommer första gången.

När du först anropar git am ger du den namnen på de brevlådor som ska bearbetas. När den första patchen som inte gäller visas avbryts den mitt i. Du kan återställa detta på ett av två sätt:

  1. hoppa över den aktuella patchen genom att köra kommandot igen med alternativet --skip.

  2. lös konflikten i arbetskatalogen för hand, och uppdatera indexfilen så att den hamnar i ett tillstånd som patchen borde ha skapat. Kör sedan kommandot med alternativet --continue.

Kommandot vägrar att bearbeta nya brevlådor förrän den aktuella operationen är klar, så om du bestämmer dig för att börja om från början, kör git am --abort innan du kör kommandot med brevlådenamnen.

Innan några patchar appliceras sätts ORIG_HEAD till toppen av den aktuella grenen. Detta är användbart om du har problem med flera incheckningar, som att köra git am på fel gren eller ett fel i incheckningar som lättare kan åtgärdas genom att ändra postlådan (t.ex. fel i "Från:"-raderna).

KROKAR

Det här kommandot kan köra applypatch-msg, pre-applypatch och post-applypatch hooks. Se githooks[5] för mer information.

KONFIGURATION

Allt under den här raden i det här avsnittet är selektivt inkluderat från dokumentationen git-config[1]. Innehållet är detsamma som det som finns där:

Warning

Missing sv/config/am.adoc

See original version for this content.

GIT

En del av git[1]-sviten