Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
-
2.53.0
2026-02-02
-
2.52.0
2025-11-17
- 2.50.1 → 2.51.2 no changes
-
2.50.0
2025-06-16
- 2.46.1 → 2.49.1 no changes
-
2.46.0
2024-07-29
- 2.45.1 → 2.45.4 no changes
-
2.45.0
2024-04-29
- 2.43.1 → 2.44.4 no changes
-
2.43.0
2023-11-20
- 2.42.2 → 2.42.4 no changes
-
2.42.1
2023-11-02
- 2.41.1 → 2.42.0 no changes
-
2.41.0
2023-06-01
- 2.40.1 → 2.40.4 no changes
-
2.40.0
2023-03-12
- 2.38.1 → 2.39.5 no changes
-
2.38.0
2022-10-02
- 2.35.1 → 2.37.7 no changes
-
2.35.0
2022-01-24
- 2.33.2 → 2.34.8 no changes
-
2.33.1
2021-10-12
- 2.32.1 → 2.33.0 no changes
-
2.32.0
2021-06-06
- 2.31.1 → 2.31.8 no changes
-
2.31.0
2021-03-15
- 2.30.1 → 2.30.9 no changes
-
2.30.0
2020-12-27
- 2.27.1 → 2.29.3 no changes
-
2.27.0
2020-06-01
- 2.26.1 → 2.26.3 no changes
-
2.26.0
2020-03-22
- 2.25.1 → 2.25.5 no changes
-
2.25.0
2020-01-13
- 2.22.1 → 2.24.4 no changes
-
2.22.0
2019-06-07
- 2.17.1 → 2.21.4 no changes
-
2.17.0
2018-04-02
- 2.11.4 → 2.16.6 no changes
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
- 2.8.6 no changes
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
- 2.4.12 → 2.5.6 no changes
-
2.3.10
2015-09-28
- 2.2.3 no changes
- 2.1.4 no changes
-
2.0.5
2014-12-17
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. Konfigurationsvariabelnam.keepcrkan användas för att ange standardbeteendet.--no-keep-crär användbar för att åsidosättaam.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:
- -m
- --message-id
-
Skicka flaggan
-mtill git mailinfo (se git-mailinfo[1]), så att Message-ID-rubriken läggs till i inchecknings-meddelandet. Konfigurationsvariabelnam.messageidkan 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ättaam.messageid. - -q
- --quiet
-
Var tyst. Skriv bara ut felmeddelanden.
- -u
- --utf8
-
Skicka flaggan
-utill git mailinfo (se git-mailinfo[1]). Det föreslagna inchecknings-loggmeddelandet som hämtats från e-postmeddelandet kodas om till UTF-8-kodning (konfigurationsvariabelni18n.commitEncodingkan 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-utf8fö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-3waykan 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 vadrereregjorde och upptäcka potentiella felaktiga sammanfogningar, innan resultatet sparas i indexet med ett separatgitadd.
- --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,errorocherror-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-verifyeller-nanges, 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.
WarningHistorikvandringsmaskineriet 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 konfigurationsvariabelncommit.gpgSignoch 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
--continueeller--skipfö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
gitamhar stoppats på grund av konflikter. Omrawanges, visas det råa innehållet i e-postmeddelandet; omdiffanges, visas endast diff-delen. Standardinställningen ärraw. - --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:
-
hoppa över den aktuella patchen genom att köra kommandot igen med alternativet
--skip. -
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 See original version for this content. |
GIT
En del av git[1]-sviten