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.51.1 → 2.54.0 no changes
-
2.51.0
2025-08-18
- 2.43.2 → 2.50.1 no changes
-
2.43.1
2024-02-09
-
2.43.0
2023-11-20
- 2.38.1 → 2.42.4 no changes
-
2.38.0
2022-10-02
- 2.29.1 → 2.37.7 no changes
-
2.29.0
2020-10-19
- 2.20.1 → 2.28.1 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.4.12 → 2.17.6 no changes
-
2.3.10
2015-09-28
-
2.2.3
2015-09-04
- 2.1.4 no changes
-
2.0.5
2014-12-17
ОПИС
Ця команда завантажує поштову скриньку, згенеровану за допомогою git format-patch, у теку чернеток IMAP. Це дозволяє надсилати латки так само, як і інші електронні листи, якщо використовуються поштові клієнти, які не можуть безпосередньо читати файли поштових скриньок. Команда також працює з будь-якою загальною поштовою скринькою, в якій електронні листи мають поля From, Date та Subject у такому порядку.
Типове використання щось на кшталт:
$ git format-patch --signoff --stdout --attach origin | git imap-send
ОПЦІЇ
- -v
- --verbose
-
Докладний вивід.
- -q
- --quiet
-
Придушувати вивід.
- -f <folder>
- --folder=<folder>
-
Вкажіть теку, в якій мають зберігатися електронні листи. Наприклад:
--folder=[Gmail]/Draftsабо-fINBOX/Drafts. - --curl
-
Використовувати libcurl для звʼязку з IMAP-сервером, якщо не використовується тунелювання до нього. Ігнорується, якщо Git було зібрано без встановленого параметра USE_CURL_FOR_IMAP_SEND.
- --no-curl
-
Звʼязуватися з IMAP-сервером за допомогою власних IMAP-підпрограм git замість libcurl. Ігнорується, якщо Git було зібрано з набором опцій NO_OPENSSL.
- --list
-
Виконати команду IMAP LIST, щоб вивести список усіх наявних тек.
КОНФІГУРАЦІЯ
Щоб скористатися цим інструментом, для imap.folder та imap.tunnel або imap.host необхідно встановити відповідні значення.
Все, що знаходиться вище цього рядка в цьому розділі, не включено до документації git-config[1]. Наступний вміст такий самий, як і той, що знаходиться там:
|
Warning
|
Missing See original version for this content. |
ОТРИМАННЯ СПИСКУ ДОСТУПНИХ ТЕК
Щоб надіслати електронного листа до певної теки, вам потрібно знати правильну назву потрібної теки у вашій поштовій скриньці. Такі назви, як «Небажана пошта», «Кошик» тощо, що відображаються різними поштовими клієнтами, не обов’язково мають бути фактичними назвами тек, що зберігаються на поштовому сервері вашого постачальника послуг електронної пошти.
Щоб отримати правильну назву теки для використання з git imap-send, ви можете виконати git imap-send --list. Це відобразить список дійсних назв тек. Приклад такого виводу під час запуску в обліковому записі Gmail:
* LIST (\HasNoChildren) "/" "ВХІДНІ" * LIST (\HasChildren \Noselect) "/" "[Gmail]" * LIST (\All \HasNoChildren) "/" "[Gmail]/Уся пошта" * LIST (\Drafts \HasNoChildren) "/" "[Gmail]/Чернетки" * LIST (\HasNoChildren \Important) "/" "[Gmail]/Важливо" * LIST (\HasNoChildren \Sent) "/" "[Gmail]/Надісланий лист" * LIST (\HasNoChildren \Junk) "/" "[Gmail]/Спам" * LIST (\Flagged \HasNoChildren) "/" "[Gmail]/Позначено зірочкою" * LIST (\HasNoChildren \Trash) "/" "[Gmail]/Сміття"
Тут ви можете помітити, що правильна назва теки «Небажана пошта» — [Gmail]/Spam, а теки «Сміття» — [Gmail]/Trash. Подібну логіку можна використовувати й для визначення назв інших тек.
ПРИКЛАДИ
Використання тунельного режиму:
[imap]
folder = "INBOX.Drafts"
tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
Використання прямого режиму:
[imap]
folder = "INBOX.Drafts"
host = imap://imap.example.com
user = bob
pass = p4ssw0rd
Використання прямого режиму з SSL:
[imap]
folder = "INBOX.Drafts"
host = imaps://imap.example.com
user = bob
pass = p4ssw0rd
port = 123
; sslVerify = false
|
Note
|
Можливо, вам варто використовувати sslVerify=false під час усунення несправностей, якщо ви підозрюєте, що причина проблем із підключенням полягає в тому, що сертифікат, який ви використовуєте на приватному сервері example.com, який ви намагаєтеся налаштувати (або налаштували), може бути неправильно перевірений.
|
Використання інтерфейсу IMAP Gmail:
[imap]
folder = "[Gmail]/Чернетки"
host = imaps://imap.gmail.com
user = user@gmail.com
port = 993
Gmail не дозволяє використовувати ваш звичайний пароль для git imap-send. Якщо у вашому обліковому записі Gmail налаштовано багатофакторну автентифікацію, ви можете створити пароль для програми, який використовуватиметься з git imap-send. Щоб створити його, відвідайте https://security.google.com/settings/security/apppasswords. Або ж скористайтеся автентифікацією OAuth2.0, як описано нижче.
|
Note
|
Можливо, вам доведеться використовувати: folder = "[Google Mail]/Drafts", якщо ви отримуєте помилку "Тека не існує". Ви також можете виконати git imap-send --list, щоб отримати список доступних тек.
|
|
Note
|
Якщо для вашого облікового запису Gmail налаштовано іншу мову, ніж англійська, назву теки «Drafts» буде локалізовано. |
Якщо ви хочете використовувати автентифікацію на основі OAuth2.0, ви можете вказати механізм OAUTHBEARER або XOAUTH2 у своїй конфігурації. Це безпечніше, ніж використання паролів для окремих програм, а також не вимагає багатофакторної автентифікації. Під час використання цієї автентифікації вам доведеться використовувати токен доступу OAuth2.0 замість пароля.
[imap]
folder = "[Gmail]/Чернетки"
host = imaps://imap.gmail.com
user = user@gmail.com
port = 993
authmethod = OAUTHBEARER
Використання інтерфейсу IMAP Outlook:
На відміну від Gmail, Outlook підтримує лише автентифікацію на основі OAuth2.0. Також він підтримує лише механізм XOAUTH2.
[imap]
folder = "Чернетки"
host = imaps://outlook.office365.com
user = user@outlook.com
port = 993
authmethod = XOAUTH2
Як тільки коміти будуть готові до надсилання, виконайте таку команду:
$ git format-patch --cover-letter -M --stdout origin/master | git imap-send
Просто переконайтеся, що ви вимкнули перенос рядків у поштовому клієнті (веб-інтерфейс Gmail переносить рядки в будь-якому випадку, тому вам потрібно використовувати справжній клієнт IMAP).
Якщо ви використовуєте автентифікацію OAuth2.0, для генерації токенів простіше використовувати помічники облікових даних. Помічники облікових даних, запропоновані в git-send-email[1], також можна використовувати для git imap-send.
УВАГА
Ви як і раніше несете відповідальність за те, щоб електронні листи, надіслані вашою поштовою програмою, відповідали стандартам вашого проєкту. У багатьох проєктах не вітається додавання латок. Деякі поштові клієнти змінюють латки (наприклад, переносять рядки, надсилають їх у форматі format=flowed) таким чином, що вони стають непридатними. Якщо ви цього не перевірите, на вас посиплються гнівні листи з висміюванням.
Зокрема, Thunderbird відомий своїми проблемами. Користувачі Thunderbird можуть відвідати цю веб-сторінку для отримання додаткової інформації: https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
ДИВ. ТАКОЖ
git-format-patch[1], git-send-email[1], mbox(5)
GIT
Частина набору git[1]