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.51.2 no changes
-
2.51.1
2025-10-15
-
2.51.0
2025-08-18
- 2.50.1 no changes
-
2.50.0
2025-06-16
- 2.47.1 → 2.49.1 no changes
-
2.47.0
2024-10-06
- 2.45.1 → 2.46.4 no changes
-
2.45.0
2024-04-29
- 2.44.1 → 2.44.4 no changes
-
2.44.0
2024-02-23
- 2.43.2 → 2.43.7 no changes
-
2.43.1
2024-02-09
-
2.43.0
2023-11-20
- 2.41.1 → 2.42.4 no changes
-
2.41.0
2023-06-01
- 2.39.1 → 2.40.4 no changes
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.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.1 → 2.34.8 no changes
-
2.33.0
2021-08-16
- 2.30.2 → 2.32.7 no changes
-
2.30.1
2021-02-08
-
2.30.0
2020-12-27
- 2.24.1 → 2.29.3 no changes
-
2.24.0
2019-11-04
- 2.23.1 → 2.23.4 no changes
-
2.23.0
2019-08-16
- 2.22.2 → 2.22.5 no changes
-
2.22.1
2019-08-11
- 2.21.1 → 2.22.0 no changes
-
2.21.0
2019-02-24
- 2.20.1 → 2.20.5 no changes
-
2.20.0
2018-12-09
- 2.19.1 → 2.19.6 no changes
-
2.19.0
2018-09-10
- 2.18.1 → 2.18.5 no changes
-
2.18.0
2018-06-21
- 2.17.1 → 2.17.6 no changes
-
2.17.0
2018-04-02
-
2.16.6
2019-12-06
- 2.15.4 no changes
-
2.14.6
2019-12-06
- 2.13.7 no changes
-
2.12.5
2017-09-22
- 2.10.5 → 2.11.4 no changes
-
2.9.5
2017-07-30
- 2.8.6 no changes
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
-
2.5.6
2017-05-05
-
2.4.12
2017-05-05
-
2.3.10
2015-09-28
- 2.2.3 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
SYNOPSIS
git send-email [<flaggor>] (<fil>|<katalog>)…
git send-email [<flaggor>] <format-patch-flaggor>
git send-email --dump-aliases
git send-email --translate-aliases
BESKRIVNING
Tar de patchar som anges på kommandoraden och skickar dem via e-post. Patchar kan anges som filer, kataloger (som skickar alla filer i katalogen) eller direkt som en revisionslista. I det sista fallet kan vilket format som helst som accepteras av git-format-patch[1] skickas till git send-email, såväl som alternativ som förstås av git-format-patch[1].
E-postmeddelandets huvud kan konfigureras via kommandoradsalternativ. Om inget anges på kommandoraden kommer användaren att uppmanas att ange nödvändig information via ett ReadLine-aktiverat gränssnitt.
Det finns två format som accepteras för patchfiler:
-
filer i mbox-format
Det här är vad git-format-patch[1] genererar. De flesta huvuden och MIME-formateringar ignoreras.
-
Det ursprungliga formatet som användes av Greg Kroah-Hartmans
send_lots_of_email.plskriptDet här formatet förväntar sig att den första raden i filen innehåller värdet
Cc:och värdetSubject:för meddelandet på den andra raden.
ALTERNATIV
Komposition
- --annotate
-
Granska och redigera varje patch du ska skicka. Standardvärdet är
sendemail.annotate. Se avsnittet KONFIGURATION försendemail.multiEdit. - --bcc=<adress>,…
-
Ange ett
Bcc:-värde för varje e-postmeddelande. Standardvärdet ärsendemail.bcc.Det här alternativet kan anges flera gånger.
- --cc=<adress>,…
-
Ange ett startvärde för
Cc:för varje e-postadress. Standardvärdet ärsendemail.cc.Det här alternativet kan anges flera gånger.
- --compose
-
Anropa en textredigerare (se GIT_EDITOR i git-var[1]) för att redigera ett introduktionsmeddelande för patchserien.
När
--composeanvänds kommergitsend-emailatt använda huvudenFrom,To,Cc,Bcc,Subject,Reply-ToochIn-Reply-Tosom anges i meddelandet. Om brödtexten (det du skriver efter rubrikerna och en tom rad) bara innehåller tomma (eller prefixerade) rader kommer sammanfattningen inte att skickas, men rubrikerna som nämns ovan kommer att användas om de inte tas bort.Saknade
From- ellerIn-Reply-To-huvuden kommer att efterfrågas.Se avsnittet KONFIGURATION för
sendemail.multiEdit. - --from=<adress>
-
Ange avsändaren för e-postmeddelandena. Om det inte anges på kommandoraden används värdet för konfigurationsalternativet
sendemail.from. Om varken kommandoradsalternativet ellersendemail.fromär inställda kommer användaren att bli ombedd att ange värdet. Standardvärdet för ledtexten är värdetGIT_AUTHOR_IDENT, ellerGIT_COMMITTER_IDENTom det inte är inställt, vilket returneras avgitvar-l. - --reply-to=<adress>
-
Ange adressen dit svar från mottagare ska skickas. Använd detta om svar på meddelanden ska skickas till en annan adress än den som anges med parametern
--from. - --in-reply-to=<identifierare>
-
Få det första mejlet (eller alla mejl med
--no-thread) att visas som ett svar på det angivna meddelande-ID:t, vilket undviker att trådar bryts för att skapa en ny patchserie. Det andra och efterföljande mejlen skickas som svar enligt inställningen--[no-]chain-reply-to.Så till exempel när
--threadoch--no-chain-reply-toanges, kommer den andra och efterföljande patchen att vara svar på den första, som i illustrationen nedan där [PATCHv20/3] är ett svar på [PATCH0/2]:[PATCH 0/2] Här är vad jag gjorde... [PATCH 1/2] Uppstädning och tester [PATCH 2/2] Implementering [PATCH v2 0/3] Här är en omrullning [PATCH v2 1/3] Uppstädning [PATCH v2 2/3] Nya tester [PATCH v2 3/3] ImplementeringEndast nödvändigt om
--composeockså är angivet. Om--composeinte är angivet kommer detta att efterfrågas. - --outlook-id-fix
- --no-outlook-id-fix
-
Microsoft Outlook SMTP-servrar ignorerar meddelande-ID:t som skickas via e-post och tilldelar ett nytt slumpmässigt meddelande-ID, vilket bryter trådar.
Med
--outlook-id-fixanvändergitsend-emailen mekanism som är specifik för Outlook-servrar för att lära sig det meddelande-ID som servern tilldelade för att fixa trådningen. Använd den bara när du vet att servern rapporterar det omskrivna meddelande-ID:t på samma sätt som Outlook-servrar gör.Utan det här alternativet angivet utförs korrigeringen som standard när man kommunicerar med smtp.office365.com eller smtp-mail.outlook.com. Använd
--no-outlook-id-fixför att inaktivera även när man kommunicerar med dessa två servrar. - --subject=<sträng>
-
Ange det första ämnet för e-posttråden. Endast nödvändigt om
--composeockså är angivet. Om--composeinte är angivet kommer detta att efterfrågas. - --to=<adress>,…
-
Ange den primära mottagaren av de genererade e-postmeddelandena. I allmänhet är detta uppströmsförvaltaren av det berörda projektet. Standardvärdet är konfigurationsvärdet
sendemail.to; om det inte är angivet och--to-cmdinte är angivet kommer detta att efterfrågas.Det här alternativet kan anges flera gånger.
- --8bit-encoding=<kodning>
-
När du stöter på ett icke-ASCII-meddelande eller ämne som inte deklarerar sin kodning, lägg till huvuden/citat för att indikera att det är kodat i <kodning>. Standardvärdet är värdet för
sendemail.assume8bitEncoding; om det inte är angivet kommer detta att efterfrågas om några icke-ASCII-filer påträffas.Observera att inga som helst försök görs för att validera kodningen.
- --compose-encoding=<kodning>
-
Ange kodning för meddelandet. Standardvärdet är värdet för
sendemail.composeEncoding; om det inte är angivet antas UTF-8. - --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)
-
Ange den överföringskodning som ska användas för att skicka meddelandet via SMTP.
7bitkommer att misslyckas vid påträffande av ett icke-ASCII-meddelande.quoted-printablekan vara användbart när kodförrådet innehåller filer som innehåller vagnreturer, men gör den råa patch-e-postfilen (som sparad från en MUA) mycket svårare att inspektera manuellt.base64är ännu mer felsäker, men också ännu mer svårtolkad.autokommer att använda8bitnär det är möjligt, ochquoted-printableannars.Standard är värdet för
sendemail.transferEncodingkonfigurationsvärdet; om det inte är angivet, används standardvärdetauto. - --xmailer
- --no-xmailer
-
Lägg till (eller förhindra att du lägger till)
X-Mailer:-huvud. Som standard läggs huvudet till, men den kan stängas av genom att ställa in konfigurationsvariabelnsendemail.xmailertillfalse.
Skicka
- --envelope-sender=<adress>
-
Ange kuvertavsändaren som används för att skicka e-postmeddelandena. Detta är användbart om din standardadress inte är den adress som prenumererar på en lista. För att använda
From-adressen ställer du in värdet tillauto. Om du använder binärfilensendmailmåste du ha lämpliga behörigheter för parametern-f. Standardvärdet är värdet för konfigurationsvariabelnsendemail.envelopeSender; om den inte är angiven är det din MTA som väljer kuvertavsändare. - --sendmail-cmd=<kommando>
-
Ange ett kommando som ska köras för att skicka e-postmeddelandet. Kommandot bör vara sendmail-liknande; det måste uttryckligen stödja alternativet
-i. Kommandot kommer att köras i skalet om det behövs. Standardvärdet ärsendemail.sendmailCmd. Om det inte är angivet, och om--smtp-serverinte heller är angivet, kommergitsend-emailatt söka eftersendmaili/usr/sbin,/usr/liboch$PATH. - --smtp-encryption=<kryptering>
-
Ange på vilket sätt krypteringen börjar för SMTP-anslutningen. Giltiga värden är
sslochtls. Alla andra värden återgår till vanlig (okrypterad) SMTP, vilket som standard är port 25. Trots namnen kommer båda värdena att använda samma nyare version av TLS, men av historiska skäl har de dessa namn.sslhänvisar till "implicit" kryptering (ibland kallad SMTPS), som använder port 465 som standard.tlshänvisar till "explicit" kryptering (ofta känd som STARTTLS), som använder port 25 som standard. Andra portar kan användas av SMTP-servern, vilka inte är standard. En vanlig alternativ port förtlsoch okrypterad är 587. Du måste kontrollera din leverantörs dokumentation eller din serverkonfiguration för att säkerställa ditt eget fall. Standardvärdet är värdet försendemail.smtpEncryption. - --smtp-domain=<FQDN>
-
Ange det fullständigt kvalificerade domännamnet (FQDN) som används i HELO/EHLO-kommandot till SMTP-servern. Vissa servrar kräver att FQDN matchar din IP-adress. Om den inte är inställd försöker
gitsend-emailatt bestämma ditt FQDN automatiskt. Standardvärdet ärsendemail.smtpDomain. - --smtp-auth=<mekanismer>
-
Blankteckenavgränsad lista över tillåtna SMTP-AUTH-mekanismer. Denna inställning tvingar fram användning av endast de listade mekanismerna. Exempel:
$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...
Om minst en av de angivna mekanismerna matchar de som annonseras av SMTP-servern och om den stöds av det använda SASL-biblioteket, används mekanismen för autentisering. Om varken
sendemail.smtpAutheller--smtp-authanges, kan alla mekanismer som stöds av SASL-biblioteket användas. Specialvärdetnonekan anges för att helt inaktivera autentisering oberoende av--smtp-user. - --smtp-pass[=<lösenord>]
-
Lösenord för SMTP-AUTH. Argumentet är valfritt: Om inget argument anges används den tomma strängen som lösenord. Standardvärdet är
sendemail.smtpPass, men--smtp-passåsidosätter alltid detta värde.Dessutom behöver lösenord inte anges i konfigurationsfiler eller på kommandoraden. Om ett användarnamn har angetts (med
--smtp-userellersendemail.smtpUser) men inget lösenord har angetts (med--smtp-passellersendemail.smtpPass) hämtas ett lösenord med hjälp av git-credential[1]. - --no-smtp-auth
-
Inaktivera SMTP-autentisering. Förkortning för
--smtp-auth=none. - --smtp-server=<värd>
-
Ange vilken utgående SMTP-server som ska användas (t.ex.
smtp.example.comeller en rå IP-adress). Om detta inte är angivet, och om--sendmail-cmdinte heller är angivet, är standardinställningen att söka eftersendmaili/usr/sbin,/usr/liboch$PATHom ett sådant program är tillgängligt, och annars användalocalhost.För bakåtkompatibilitet kan det här alternativet också ange en fullständig sökväg för ett sendmail-liknande program i stället; programmet måste stödja alternativet
-i. Den här metoden stöder inte att skicka argument eller använda vanliga kommandonamn. För dessa användningsfall, överväg att använda--sendmail-cmdi stället. - --smtp-server-port=<port>
-
Ange en annan port än standardporten (SMTP-servrar lyssnar vanligtvis på smtp-port 25, men kan också lyssna på submission-port 587, eller den vanliga SSL-smtp-porten 465); symboliska portnamn (t.ex.
submissioni stället för 587) accepteras också. Porten kan också ställas in med konfigurationsvariabelnsendemail.smtpServerPort. - --smtp-server-option=<alternativ>
-
Ange vilket serveralternativ för utgående SMTP som ska användas. Standardvärdet kan anges med konfigurationsalternativet
sendemail.smtpServerOption.Alternativet
--smtp-server-optionmåste upprepas för varje alternativ du vill skicka till servern. På samma sätt, måste olika rader i konfigurationsfilerna användas för varje alternativ. - --smtp-ssl
-
Äldre alias för
--smtp-encryptionssl. - --smtp-ssl-cert-path <sökväg>
-
Sökväg till ett lager med betrodda CA-certifikat för SMTP SSL/TLS-certifikatvalidering (antingen en katalog som har bearbetats av
c_rehash, eller en enda fil som innehåller ett eller flera PEM-formatcertifikat sammanfogade: se beskrivningen av alternativen-CAfile<fil> och-CApath<kat> på https://docs.openssl.org/master/man1/openssl-verify/ [OpenSSLs manualsida för verify(1)] för mer information om dessa). Ställ in den till en tom sträng för att inaktivera certifikatverifiering. Standardvärdet är värdet för konfigurationsvariabelnsendemail.smtpSSLCertPath, om den är inställd, eller annars det stödjande SSL-bibliotekets kompilerade standardvärde (vilket borde vara det bästa valet på de flesta plattformar). - --smtp-user=<användare>
-
Användarnamn för SMTP-AUTH. Standardvärdet är
sendemail.smtpUser; om ett användarnamn inte anges (med--smtp-userellersendemail.smtpUser) görs inget autentiseringsförsök. - --smtp-debug=(0|1)
-
Aktivera (1) eller inaktivera (0) felsökningsutdata. Om aktiverat kommer SMTP-kommandon och svar att skrivas ut. Användbart för att felsöka TLS-anslutnings- och autentiseringsproblem.
- --imap-sent-folder=<mapp>
-
Vissa e-postleverantörer (t.ex. iCloud) skickar inte en kopia av e-postmeddelanden som skickas med SMTP till mappen "Skickat" eller liknande i din inkorg. Använd det här alternativet för att använda
gitimap-sendför att skicka en kopia av e-postmeddelandena till den mapp som anges med det här alternativet. Du kan köragitimap-send--listför att få en lista med giltiga mappnamn, inklusive det korrekta namnet på mappen "Skickat" i din inkorg. Du kan också använda det här alternativet för att skicka e-postmeddelanden till en dedikerad IMAP-mapp som du väljer.Den här funktionen kräver att
gitimap-sendkonfigureras. Se git-imap-send[1] för instruktioner. - --use-imap-only
- --no-use-imap-only
-
Om detta är inställt kommer alla e-postmeddelanden endast att kopieras till IMAP-mappen som anges med
--imap-sent-folderellersendemail.imapSentFolderoch kommer inte att skickas till mottagarna. Användbart om du bara vill skapa ett utkast av e-postmeddelandena och använda en annan e-postklient för att skicka dem. Om det inaktiveras med--no-use-imap-onlykommer e-postmeddelandena att skickas som vanligt. Inaktiverat som standard, men konfigurationsvariabelnsendemail.useImapOnlykan användas för att aktivera den.Den här funktionen kräver att
gitimap-sendkonfigureras. Se git-imap-send[1] för instruktioner. - --batch-size=<num>
-
Vissa e-postservrar (t.ex. smtp.163.com) begränsar antalet e-postmeddelanden som kan skickas per session (anslutning), vilket leder till fel när många meddelanden skickas. Med det här alternativet kopplar send-email bort efter att <num> meddelanden har skickats, väntar i några sekunder (se
--relogin-delay) och återansluter för att kringgå en sådan gräns. Du kanske vill använda någon form av autentiseringshjälpare för att slippa skriva in ditt lösenord varje gång detta händer. Standardinställningen är konfigurationsvariabelnsendemail.smtpBatchSize. - --relogin-delay=<int>
-
Väntar <int> sekunder innan återanslutning till SMTP-servern. Används tillsammans med alternativet
--batch-size. Standardinställningen är konfigurationsvariabelnsendemail.smtpReloginDelay.
Automatisering
- --no-to
- --no-cc
- --no-bcc
-
Rensa alla listor med adresser som tidigare ställts in via konfigurationen, som
Till:,Cc:ochBcc:. - --no-identity
-
Rensa det tidigare lästa värdet för
sendemail.identitysom ställts in via konfigurationen, om sådan finns. - --to-cmd=<kommando>
-
Ange ett kommando som ska köras en gång per patchfil och som ska generera specifika
Till:-poster. Utdata från kommandot måste bestå av en enda e-postadress per rad. Standardvärdet är värdet i konfigurationsvariabelnsendemail.toCmd. - --cc-cmd=<kommando>
-
Ange ett kommando som ska köras en gång per patchfil och som ska generera specifika
Cc:-poster. Utdata från kommandot måste bestå av en enda e-postadress per rad. Standardvärdet är värdet i konfigurationsvariabelnsendemail.ccCmd. - --header-cmd=<kommando>
-
Ange ett kommando som körs en gång per utgående meddelande och som skriver ut rubrikrader i RFC 2822-stil som ska infogas i meddelandena. När konfigurationsvariabeln
sendemail.headerCmdär satt används dess värde alltid. När--header-cmdanges på kommandoraden har dess värde företräde framför konfigurationsvariabelnsendemail.headerCmd. - --no-header-cmd
-
Inaktivera eventuella rubrikkommandon som används.
- --chain-reply-to
- --no-chain-reply-to
-
Om detta är inställt kommer varje e-postmeddelande att skickas som ett svar på det föregående skickade e-postmeddelandet. Om det inaktiveras med
--no-chain-reply-tokommer alla e-postmeddelanden efter det första att skickas som svar på det första skickade e-postmeddelandet. När du använder detta rekommenderas det att den första filen som anges är en översikt över hela patchserien. Inaktiverat som standard, men konfigurationsvariabelnsendemail.chainReplyTokan användas för att aktivera den. - --identity=<identitet>
-
En konfigurationsidentitet. När den anges, gör den att värden i underavsnittet
sendemail.<identitet> prioriteras framför värden i avsnittetsendemail. Standardidentiteten är värdet försendemail.identity. - --signed-off-by-cc
- --no-signed-off-by-cc
-
Om detta är inställt, lägg till e-postadresser som finns i
Signed-off-by-slutraden ellerCc:-raderna i cc-listan. Standardvärdet är konfigurationsvärdetsendemail.signedOffByCc; om det inte är angivet används--signed-off-by-ccsom standard. - --cc-cover
- --no-cc-cover
-
Om detta är inställt, läggs e-postmeddelanden som finns i
Cc:-huvuden i den första patchen i serien (vanligtvis följebrevet) till i cc-listan för varje e-postmeddelande i serien. Standardvärdet är värdet för konfigurationsvärdetsendemail.ccCover; om det inte är angivet, används--no-cc-coversom standard. - --to-cover
- --no-to-cover
-
Om detta är inställt läggs e-postadresser som finns i
To:-huvuden i den första patchen i serien (vanligtvis följebrevet) till i mottagarlistan för varje e-postmeddelande i serien. Standardvärdet är konfigurationsvärdetsendemail.toCover; om det inte är angivet används--no-to-coversom standard. - --suppress-cc=<kategori>
-
Ange ytterligare en kategori av mottagare för att undertrycka automatisk-cc av:
-
authorkommer att undvika att inkludera patch-författaren. -
selfkommer att undvika att inkludera avsändaren. -
ccundviker att inkludera någon som nämns i Cc-rader i patch-huvud förutom self (användselfför det). -
bodyccundviker att inkludera någon som nämns i Cc-rader i patch-texten (incheckningsmeddelandet) förutom self (användselfför det). -
sobundviker att inkludera någon som nämns i Signed-off-by-slutrader förutom self (användselfför det). -
misc-byundviker att inkludera någon som nämns i Acked-by, Reviewed-by, Tested-by och andra "-by"-rader i patch-texten, förutom Signed-off-by (användsobför det). -
cccmdkommer att undvika att köra --cc-cmd. -
bodyär ekvivalent medsob+bodycc+misc-by. -
allkommer att undertrycka alla automatiska cc-värden.
Standard är värdet för konfigurationsvariabeln
sendemail.suppressCc; om den inte är angiven används standardvärdetselfom--suppress-fromanges, samtbodyom--no-signed-off-ccanges. -
- --suppress-from
- --no-suppress-from
-
Om detta är inställt, lägg inte till
From:-adressen iCc:-listan. Standardvärdet är konfigurationsvärdetsendemail.suppressFrom; om det inte är angivet används--no-suppress-fromsom standard. - --thread
- --no-thread
-
Om detta är inställt, kommer huvudena
In-Reply-ToochReferencesatt läggas till i varje e-postmeddelande som skickas. Huruvida varje e-postmeddelande refererar till föregående e-postmeddelande (djuptrådning enligtgitformat-patchformulering) eller till det första e-postmeddelandet (grundtrådning) styrs av--[no-]chain-reply-to.Om det inaktiveras med
--no-threadkommer dessa huvuden inte att läggas till (såvida det inte anges med--in-reply-to). Standardvärdet är konfigurationsvärdetsendemail.thread; om det inte är angivet, används--threadsom standard.Det är upp till användaren att se till att inget In-Reply-To-huvud redan finns när
gitsend-emailombeds att lägga till det (observera särskilt attgitformat-patchkan konfigureras att göra trådningen själv). Underlåtenhet att göra det kanske inte ger det förväntade resultatet i mottagarens MUA. - --mailmap
- --no-mailmap
-
Använd mailmap-filen (se gitmailmap[5]) för att mappa alla adresser till deras kanoniska riktiga namn och e-postadress. Ytterligare mailmap-data specifik för
gitsend-emailkan tillhandahållas med hjälp av konfigurationsvärdenasendemail.mailmap.fileellersendemail.mailmap.blob. Standardvärdet ärsendemail.mailmap.
Administrera
- --confirm=<läge>
-
Bekräfta precis innan du skickar:
-
alwaysbekräftar alltid innan det skickas. -
neverkommer aldrig att bekräfta innan den skickas. -
ccbekräftar innan det skickas när send-email automatiskt har lagt till adresser från patchen till Cc-listan. -
composebekräftar innan det första meddelandet skickas när --compose används. -
autoär ekvivalent medcc+compose.
Standardvärdet är konfigurationsvariabeln
sendemail.confirm. Om det inte är angivet, användsautosom standard om inte något av alternativen för att undertrycka har angetts, i vilket fall standardvärdet ärcompose. -
- --dry-run
-
Gör allt utom att faktiskt skicka e-postmeddelandena.
- --format-patch
- --no-format-patch
-
När ett argument kan tolkas antingen som en referens eller som ett filnamn, välj att tolka det som ett format-patch-argument (
--format-patch) eller som ett filnamn (--no-format-patch). Som standard misslyckasgitsend-emailnär en sådan konflikt uppstår. - --quiet
-
Gör
gitsend-emailmindre utförligt. En rad per e-postmeddelande ska vara allt som matas ut. - --validate
- --no-validate
-
Utför rimlighetskontroller på patchar. För närvarande, innebär validering följande:
-
Anropa kroken sendemail-validate om den finns (se githooks[5]).
-
Varna för patchar som innehåller rader längre än 998 tecken om inte en lämplig överföringskodning (
auto,base64ellerquoted-printable) används; detta beror på SMTP-begränsningar som beskrivs av https://www.ietf.org/rfc/rfc5322.txt.
Standardvärdet är
sendemail.validate; om detta inte är inställt, används--validatesom standard. -
- --force
-
Skicka e-post även om säkerhetskontroller skulle förhindra det.
Information
- --dump-aliases
-
I stället för den normala åtgärden, skriv ut de förkortade aliasnamnen från de konfigurerade aliasfilerna, ett per rad i alfabetisk ordning. Observera att detta endast visar aliasnamnet och inte dess expanderade e-postadresser. Se
sendemail.aliasesFileför mer information om alias. - --translate-aliases
-
I stället för den normala åtgärden, läs från standardinmatningen och tolka varje rad som ett e-postalias. Översätt det enligt den/de konfigurerade aliasfilen/filerna. Skriv ut varje översatt namn och e-postadress till standardutmatning, ett per rad. Se
sendemail.aliasFileför mer information om alias.
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. |
EXEMPEL PÅ SMTP-SERVRAR
Använd Gmail som SMTP-server
För att använda git send-email för att skicka dina patchar via Gmails SMTP-server, redigera ~/.gitconfig för att ange dina kontoinställningar:
[sendemail] smtpEncryption = ssl smtpServer = smtp.gmail.com smtpUser = yourname@gmail.com smtpServerPort = 465
Gmail tillåter inte att du använder ditt vanliga lösenord för git send-email. Om du har konfigurerat flerfaktorsautentisering på ditt Gmail-konto kan du generera ett appspecifikt lösenord för användning med git send-email. Besök https://security.google.com/settings/security/apppasswords för att skapa det.
Alternativt kan du, i stället för att använda ett appspecifikt lösenord, använda OAuth2.0-autentisering med Gmail. OAuth2.0 är säkrare än appspecifika lösenord och fungerar oavsett om du har konfigurerat flerfaktorsautentisering. OAUTHBEARER och XOAUTH2 är vanliga mekanismer som används för den här typen av autentisering. Gmail stöder båda. Om du till exempel vill använda OAUTHBEARER, redigerar du din ~/.gitconfig-fil och lägger till smtpAuth = OAUTHBEARER i dina kontoinställningar:
[sendemail] smtpEncryption = ssl smtpServer = smtp.gmail.com smtpUser = yourname@gmail.com smtpServerPort = 465 smtpAuth = OAUTHBEARER
Ett annat alternativ är att använda ett verktyg utvecklat av Google som heter sendgmail för att skicka e-postmeddelanden med git send-email.
Använd Microsoft Outlook som SMTP-server
Till skillnad från Gmail stöder Microsoft Outlook inte längre appspecifika lösenord. Därför måste OAuth2.0-autentisering användas för Outlook. Dessutom stöder den endast autentiseringsmekanismen XOAUTH2.
Redigera ~/.gitconfig för att ange dina kontoinställningar för Outlook och använd dess SMTP-server med git send-email:
[sendemail] smtpEncryption = tls smtpServer = smtp.office365.com smtpUser = yourname@outlook.com smtpServerPort = 587 smtpAuth = XOAUTH2
SKICKAR PATCHAR
När dina incheckningar är redo att skickas till e-postlistan, kör följande kommandon:
$ git format-patch --cover-letter -M origin/master -o outgoing/ $ edit outgoing/0000-* $ git send-email outgoing/*
Första gången du kör det, kommer du att bli ombedd att ange dina inloggningsuppgifter. Ange det appspecifika eller ditt vanliga lösenord beroende på vad som är lämpligt.
Om du har en autentiseringshjälpare konfigurerad (se git-credential[1]) sparas lösenordet i lagringen för inloggningsuppgifter så att du inte behöver skriva in det nästa gång.
Om du använder OAuth2.0-autentisering måste du använda en åtkomsttoken i stället för ett lösenord när du uppmanas till det. Det finns olika OAuth2.0-tokengeneratorer på nätet. Det finns även gemenskapsunderhållna autentiseringshjälpare:
-
git-credential-gmail (plattformsoberoende, dedikerad hjälp för autentisering av Gmail-konton)
-
git-credential-outlook (plattformsoberoende, dedikerad hjälp för autentisering av Microsoft Outlook-konton)
-
git-credential-yahoo (plattformsoberoende, dedikerad hjälp för autentisering av Yahoo-konton)
-
git-credential-aol (plattformsoberoende, dedikerad hjälp för autentisering av AOL-konton)
Du kan också se gitcredentials[7] för fler OAuth-baserade autentiseringshjälpmedel.
Proton Mail tillhandahåller ingen SMTP-server för att skicka e-post. Om du är en betalande kund hos Proton Mail kan du använda Proton Mail Bridge som officiellt tillhandahålls av Proton Mail för att skapa en lokal SMTP-server för att skicka e-post. För både gratis- och betalande användare kan gemenskapsunderhållna projekt som git-protonmail användas.
Obs: följande centrala Perl-moduler som kan installeras med din Perl-distribution krävs:
Dessa ytterligare Perl-moduler krävs också:
Utnyttja sendmailCmd-alternativet i git send-email
Förutom att skicka e-post via en SMTP-server, kan git send-email också skicka e-post via alla program som stöder sendmail-liknande kommandon. Du kan läsa dokumentationen för --sendmail-cmd=<kommando> ovan för mer information. Denna möjlighet kan vara mycket användbar om du vill använda ett annat program som SMTP-klient för git send-email, eller om din e-postleverantör använder proprietära API:er i stället för SMTP för att skicka e-post.
Som ett exempel, låt oss se hur man konfigurerar msmtp, en populär SMTP-klient som finns i många Linux-distributioner. Redigera ~/.gitconfig för att instruera git-send-email att använda den för att skicka e-post.
[sendemail] sendmailCmd = /usr/bin/msmtp # Ändra detta till sökvägen där msmtp är installerat
Länkar till några sådana gemenskapsunderhållna hjälpare är:
-
msmtp (populär SMTP-klient med många funktioner, tillgänglig för Linux och macOS)
-
git-protonmail (plattformsoberoende klient som kan skicka e-postmeddelanden med ProtonMails API)
-
git-msgraph (plattformsoberoende klient som kan skicka e-postmeddelanden med Microsoft Graph API)
SE ÄVEN
git-format-patch[1], git-imap-send[1], mbox(5)
GIT
En del av git[1]-sviten