Einrichtung und Konfiguration
Projekte holen und erstellen
Grundlegende Snapshots
Branching und Merging
Projekte teilen und aktualisieren
Inspektion und Vergleich
Patching
Debugging
Externe Systeme
Server-Administration
Anleitungen
- gitattributes
- Konventionen der Kommandozeile
- Tägliches Git
- Häufig gestellte Fragen (FAQ)
- Glossar
- Hooks
- gitignore
- gitmodules
- Revisionen
- Submodule
- Tutorial
- Workflows
- Alle Anleitungen...
Administration
Plumbing-Befehle
- 2.51.1 → 2.52.0 keine Änderungen
-
2.51.0
2025-08-18
- 2.43.2 → 2.50.1 keine Änderungen
-
2.43.1
2024-02-09
-
2.43.0
2023-11-20
- 2.38.1 → 2.42.4 keine Änderungen
-
2.38.0
2022-10-02
- 2.29.1 → 2.37.7 keine Änderungen
-
2.29.0
2020-10-19
- 2.20.1 → 2.28.1 keine Änderungen
-
2.20.0
2018-12-09
- 2.19.1 → 2.19.6 keine Änderungen
-
2.19.0
2018-09-10
- 2.18.1 → 2.18.5 keine Änderungen
-
2.18.0
2018-06-21
- 2.4.12 → 2.17.6 keine Änderungen
-
2.3.10
2015-09-28
-
2.2.3
2015-09-04
- 2.1.4 keine Änderungen
-
2.0.5
2014-12-17
BESCHREIBUNG
Dieser Befehl lädt eine mit git format-patch erstellte Mailbox in einen IMAP-Entwürfe-Ordner hoch. Dies ermöglicht das Senden von Patches wie andere E-Mails, wenn Mail-Clients verwendet werden, die keine Mailbox-Dateien direkt lesen können. Der Befehl funktioniert auch mit jeder allgemeinen Mailbox, in der E-Mails die Felder From, Date und Subject in dieser Reihenfolge enthalten.
Typische Verwendung ist etwa so
$ git format-patch --signoff --stdout --attach origin | git imap-send
OPTIONEN
- -v
- --verbose
-
Ausführlich sein.
- -q
- --quiet
-
Seien Sie leise.
- -f <ordner>
- --folder=<ordner>
-
Gibt den Ordner an, in dem die E-Mails gespeichert werden sollen. Zum Beispiel:
--folder=[Gmail]/Entwürfeoder-fPOSTFACH/Entwürfe. - --curl
-
Verwendet libcurl zur Kommunikation mit dem IMAP-Server, es sei denn, es wird in diesen hineingetunnelt. Wird ignoriert, wenn Git ohne die Option USE_CURL_FOR_IMAP_SEND erstellt wurde.
- --no-curl
-
Spricht mit dem IMAP-Server unter Verwendung der eigenen IMAP-Routinen von Git anstelle von libcurl. Wird ignoriert, wenn Git mit der Option NO_OPENSSL erstellt wurde.
- --list
-
Führt den IMAP-LIST-Befehl aus, um eine Liste aller vorhandenen Ordner auszugeben.
KONFIGURATION
Um das Werkzeug zu verwenden, müssen imap.folder und entweder imap.tunnel oder imap.host auf entsprechende Werte gesetzt sein.
Alles oberhalb dieser Zeile in diesem Abschnitt ist nicht in der Dokumentation von git-config[1] enthalten. Der nachfolgende Inhalt ist derselbe wie dort zu finden.
- imap.folder
-
Der Ordner, in den die E-Mails abgelegt werden sollen, typischerweise der Ordner Entwürfe. Zum Beispiel:
POSTFACH.Entwürfe,POSTFACH/Entwürfeoder [Gmail]/Entwürfe. Der zu interagierende IMAP-Ordner MUSS angegeben werden; der Wert dieser Konfigurationsvariablen wird als Standardwert verwendet, wenn die Option--foldernicht angegeben ist. - imap.tunnel
-
Befehl zum Einrichten eines Tunnels zum IMAP-Server, durch den Befehle statt einer direkten Netzwerkverbindung zum Server geleitet werden. Erforderlich, wenn imap.host nicht gesetzt ist.
- imap.host
-
Eine URL, die den Server identifiziert. Verwenden Sie ein
imap://Präfix für ungesicherte Verbindungen und einimaps://Präfix für gesicherte Verbindungen. Wird ignoriert, wenn imap.tunnel gesetzt ist, ist aber andernfalls erforderlich. - imap.user
-
Der Benutzername, der beim Anmelden am Server verwendet wird.
- imap.pass
-
Das Passwort, das beim Anmelden am Server verwendet wird.
- imap.port
-
Eine Ganzzahl, die die Portnummer angibt, zu der auf dem Server eine Verbindung hergestellt werden soll. Standardmäßig 143 für imap://-Hosts und 993 für imaps://-Hosts. Wird ignoriert, wenn imap.tunnel gesetzt ist.
- imap.sslverify
-
Ein boolescher Wert zum Aktivieren/Deaktivieren der Überprüfung des Serverzertifikats, das von der SSL/TLS-Verbindung verwendet wird. Standard ist
true. Wird ignoriert, wenn imap.tunnel gesetzt ist. - imap.preformattedHTML
-
Ein boolescher Wert zum Aktivieren/Deaktivieren der Verwendung von HTML-Encoding beim Senden eines Patches. Ein HTML-codierter Patch wird mit <pre> umschlossen und hat den Inhaltstyp text/html. Ironischerweise bewirkt die Aktivierung dieser Option, dass Thunderbird den Patch als E-Mail vom Typ plain/text, format=fixed sendet. Standard ist
false. - imap.authMethod
-
Gibt die Authentifizierungsmethode für die Authentifizierung beim IMAP-Server an. Wenn Git mit der Option NO_CURL erstellt wurde, oder wenn Ihre Curl-Version älter als 7.34.0 ist, oder wenn Sie git-imap-send mit der Option
--no-curlausführen, sind die einzigen unterstützten MethodenPLAIN,CRAM-MD5,OAUTHBEARERundXOAUTH2. Wenn dies nicht gesetzt ist, verwendetgitimap-sendden grundlegenden IMAP-KlartextbefehlLOGIN.
AUFLISTUNG VERFÜGBARER ORDNER ERHALTEN
Um eine E-Mail an einen bestimmten Ordner zu senden, müssen Sie den korrekten Namen des beabsichtigten Ordners in Ihrem Postfach kennen. Die Namen wie "Junk", "Trash" usw., die von verschiedenen E-Mail-Clients angezeigt werden, müssen nicht die tatsächlichen Namen der Ordner sein, die auf dem Mailserver Ihres E-Mail-Anbieters gespeichert sind.
Um den korrekten Ordnernamen für die Verwendung mit git imap-send zu erhalten, können Sie git imap-send --list ausführen. Dies zeigt eine Liste gültiger Ordnernamen an. Ein Beispiel für eine solche Ausgabe bei einem Gmail-Konto ist
* LIST (\HasNoChildren) "/" "INBOX" * LIST (\HasChildren \Noselect) "/" "[Gmail]" * LIST (\All \HasNoChildren) "/" "[Gmail]/All Mail" * LIST (\Drafts \HasNoChildren) "/" "[Gmail]/Drafts" * LIST (\HasNoChildren \Important) "/" "[Gmail]/Important" * LIST (\HasNoChildren \Sent) "/" "[Gmail]/Sent Mail" * LIST (\HasNoChildren \Junk) "/" "[Gmail]/Spam" * LIST (\Flagged \HasNoChildren) "/" "[Gmail]/Starred" * LIST (\HasNoChildren \Trash) "/" "[Gmail]/Trash"
Hier können Sie beobachten, dass der korrekte Name für den "Junk"-Ordner [Gmail]/Spam und für den "Trash"-Ordner [Gmail]/Trash lautet. Ähnliche Logik kann verwendet werden, um auch andere Ordner zu ermitteln.
BEISPIELE
Verwendung des Tunnelmodus
[imap]
folder = "INBOX.Drafts"
tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
Verwendung des Direktmodus
[imap]
folder = "INBOX.Drafts"
host = imap://imap.example.com
user = bob
pass = p4ssw0rd
Verwendung des Direktmodus mit SSL
[imap]
folder = "INBOX.Drafts"
host = imaps://imap.example.com
user = bob
pass = p4ssw0rd
port = 123
; sslVerify = false
|
Hinweis
|
Möglicherweise möchten Sie sslVerify=false während der Fehlersuche verwenden, wenn Sie vermuten, dass der Grund für Verbindungsprobleme darin liegt, dass das von Ihnen verwendete Zertifikat am privaten Server example.com, das Sie einrichten (oder eingerichtet haben), möglicherweise nicht korrekt verifiziert wird. |
Verwendung der IMAP-Schnittstelle von Gmail
[imap]
folder = "[Gmail]/Drafts"
host = imaps://imap.gmail.com
user = user@gmail.com
port = 993
Gmail erlaubt nicht die Verwendung Ihres normalen Passworts für git imap-send. Wenn Sie die Zwei-Faktor-Authentifizierung in Ihrem Gmail-Konto eingerichtet haben, können Sie ein anwendungsspezifisches Passwort für die Verwendung mit git imap-send generieren. Besuchen Sie https://security.google.com/settings/security/apppasswords, um es zu erstellen. Alternativ können Sie die OAuth2.0-Authentifizierung wie unten beschrieben verwenden.
|
Hinweis
|
Möglicherweise müssen Sie stattdessen Folgendes verwenden: ordner = "[Google Mail]/Entwürfe, wenn Sie eine Fehlermeldung erhalten, dass der "Ordner nicht existiert". Sie können auch git imap-send --list ausführen, um eine Liste der verfügbaren Ordner zu erhalten. |
|
Hinweis
|
Wenn Ihr Gmail-Konto in einer anderen Sprache als Englisch eingerichtet ist, wird der Name des "Entwürfe"-Ordners lokalisiert. |
Wenn Sie eine OAuth2.0-basierte Authentifizierung verwenden möchten, können Sie den Mechanismus OAUTHBEARER oder XOAUTH2 in Ihrer Konfiguration angeben. Dies ist sicherer als die Verwendung anwendungsspezifischer Passwörter und erzwingt auch nicht die Notwendigkeit der Zwei-Faktor-Authentifizierung. Sie müssen einen OAuth2.0-Zugriffstoken anstelle Ihres Passworts verwenden, wenn Sie diese Authentifizierung verwenden.
[imap]
folder = "[Gmail]/Drafts"
host = imaps://imap.gmail.com
user = user@gmail.com
port = 993
authmethod = OAUTHBEARER
Verwendung der IMAP-Schnittstelle von Outlook
Im Gegensatz zu Gmail unterstützt Outlook nur die OAuth2.0-basierte Authentifizierung. Außerdem unterstützt es nur XOAUTH2 als Mechanismus.
[imap]
folder = "Drafts"
host = imaps://outlook.office365.com
user = user@outlook.com
port = 993
authmethod = XOAUTH2
Sobald die Commits zum Senden bereit sind, führen Sie den folgenden Befehl aus
$ git format-patch --cover-letter -M --stdout origin/master | git imap-send
Stellen Sie einfach sicher, dass Sie den Zeilenumbruch im E-Mail-Client deaktivieren (die Weboberfläche von Gmail wird die Zeilen unabhängig von allem umbrechen, daher müssen Sie einen echten IMAP-Client verwenden).
Wenn Sie OAuth2.0-Authentifizierung verwenden, ist es einfacher, Anmeldeinformationshelfer zum Generieren von Tokens zu verwenden. Die in git-send-email[1] vorgeschlagenen Anmeldeinformationshelfer können auch für git imap-send verwendet werden.
VORSICHT
Es liegt immer noch in Ihrer Verantwortung sicherzustellen, dass die von Ihrem E-Mail-Programm gesendete Nachricht den Standards Ihres Projekts entspricht. Viele Projekte mögen keine angehängten Patches. Einige Mail-Agenten transformieren Patches (z. B. Zeilenumbrüche, senden sie als format=flowed), sodass sie fehlschlagen. Sie werden wütende Flammen erleben, die Sie verspotten, wenn Sie dies nicht überprüfen.
Thunderbird ist insbesondere dafür bekannt, problematisch zu sein. Thunderbird-Benutzer möchten möglicherweise diese Webseite für weitere Informationen besuchen: https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
SIEHE AUCH
git-format-patch[1], git-send-email[1], mbox(5)
GIT
Teil der git[1] Suite