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
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
СИНОПСИС
git send-email [<options>] (<file>|<directory>)… git send-email [<options>] <format-patch-options> git send-email --dump-aliases git send-email --translate-aliases
ОПИС
Бере патчі, задані в командному рядку, та надсилає їх електронною поштою. Патчі можна вказати як файли, каталоги (що надсилатиме всі файли в каталозі) або безпосередньо як список версій. В останньому випадку, будь-який формат, прийнятий git-format-patch[1], може бути переданий до git send-email, як і опції, що розуміються git-format-patch[1].
Заголовок електронного листа можна налаштувати за допомогою параметрів командного рядка. Якщо його не вказано в командному рядку, користувачеві буде запропоновано надати необхідну інформацію через інтерфейс ReadLine.
Для файлів патчів прийнятні два формати:
-
файли формату mbox
Ось що генерує git-format-patch[1]. Більшість заголовків та MIME-форматування ігноруються.
-
Оригінальний формат, який використовувався скриптом
send_lots_of_email.plГрега Кроа-ХартманаУ цьому форматі перший рядок файлу має містити значення
Cc:, а другий рядок —Subject:повідомлення.
ОПЦІЇ
Композиція
- --annotate
-
Перегляньте та відредагуйте кожен патч, який ви збираєтеся надіслати. Значення за замовчуванням –
sendemail.annotate. Дивіться розділ КОНФІГУРАЦІЯ дляsendemail.multiEdit. - --bcc=<address>,…
-
Вкажіть значення Прихована копія: для кожного електронного листа. За замовчуванням використовується значення
sendemail.bcc.Цей параметр можна вказати кілька разів.
- --cc=<address>,…
-
Вкажіть початкове значення поля «Копія» для кожного електронного листа. За замовчуванням використовується значення
sendemail.cc.Цей параметр можна вказати кілька разів.
- --compose
-
Викличте текстовий редактор (див. GIT_EDITOR у git-var[1]), щоб відредагувати вступне повідомлення для серії патчів.
Коли використовується
--compose,gitsend-emailвикористовуватиме заголовкиFrom,To,Cc,Bcc,Subject,Reply-ToтаIn-Reply-To, зазначені в повідомленні. Якщо тіло повідомлення (те, що ви вводите після заголовків та порожнього рядка) містить лише порожні (або рядки з префіксомGit:), короткий виклад не буде надіслано, але згадані вище заголовки будуть використані, якщо їх не видалити.Буде запропоновано ввести відсутні заголовки
FromабоIn-Reply-To.Дивіться розділ КОНФІГУРАЦІЯ для
sendemail.multiEdit. - --from=<address>
-
Вкажіть відправника електронних листів. Якщо не вказано в командному рядку, використовується значення параметра конфігурації
sendemail.from. Якщо ні параметр командного рядка, ніsendemail.fromне встановлено, користувачеві буде запропоновано ввести значення. Значенням за замовчуванням для запиту будеGIT_AUTHOR_IDENTабоGIT_COMMITTER_IDENT, якщо воно не встановлено, як повертаєтьсяgitvar-l. - --reply-to=<address>
-
Вкажіть адресу, на яку мають надходити відповіді від одержувачів. Використовуйте це, якщо відповіді на повідомлення мають надходити на адресу, відмінну від тієї, що вказана параметром
--from. - --in-reply-to=<identifier>
-
Зробити так, щоб перший лист (або всі листи з
--no-thread) відображалися як відповідь на заданий ідентифікатор повідомлення, що дозволяє уникнути розриву потоків для створення нової серії патчів. Другий та наступні листи будуть надіслані як відповіді відповідно до налаштування--[no-]chain-reply-to.Наприклад, коли вказано
--threadта--no-chain-reply-to, другий та наступні патчі будуть відповідями на перший, як на ілюстрації нижче, де [PATCHv20/3] є відповіддю на [PATCH0/2]:[PATCH 0/2] Here is what I did... [PATCH 1/2] Clean up and tests [PATCH 2/2] Implementation [PATCH v2 0/3] Here is a reroll [PATCH v2 1/3] Clean up [PATCH v2 2/3] New tests [PATCH v2 3/3] ImplementationПотрібно лише якщо також встановлено
--compose. Якщо--composeне встановлено, буде запропоновано це зробити. - --[no-]outlook-id-fix
-
SMTP-сервери Microsoft Outlook відкидають ідентифікатор повідомлення, надісланий електронною поштою, та призначають новий випадковий ідентифікатор повідомлення, таким чином розриваючи потоки.
З параметром
--outlook-id-fix,gitsend-emailвикористовує механізм, специфічний для серверів Outlook, щоб дізнатися Message-ID, який сервер призначив для виправлення потоків. Використовуйте його лише тоді, коли ви знаєте, що сервер повідомляє про переписаний Message-ID так само, як і сервери Outlook.Якщо цей параметр не вказано, виправлення виконується за замовчуванням під час зв’язку з «smtp.office365.com» або «smtp-mail.outlook.com». Використовуйте
--no-outlook-id-fix, щоб вимкнути навіть під час зв’язку з цими двома серверами. - --subject=<string>
-
Вкажіть початкову тему електронного листа. Потрібно лише якщо також встановлено параметр
--compose. Якщо параметр--composeне встановлено, буде запропоновано ввести цю тему. - --to=<address>,…
-
Вкажіть основного одержувача згенерованих електронних листів. Зазвичай це буде відповідальний за розробку проекту. За замовчуванням використовується значення конфігурації
sendemail.to; якщо воно не вказано, а--to-cmdне вказано, буде запропоновано його ввести.Цей параметр можна вказати кілька разів.
- --8bit-encoding=<encoding>
-
Якщо повідомлення або тема не вказано в кодуванні ASCII, додайте заголовки/лапки, щоб вказати, що кодування вказано в <encoding>. За замовчуванням використовується значення
sendemail.assume8bitEncoding; якщо це значення не вказано, запит на його введення буде з’явитися, якщо будуть знайдені файли, що не входять до ASCII.Зверніть увагу, що жодних спроб перевірити кодування не робиться.
- --compose-encoding=<encoding>
-
Вкажіть кодування повідомлення для створення. За замовчуванням використовується значення
sendemail.composeEncoding; якщо воно не вказано, передбачається UTF-8. - --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)
-
Вкажіть кодування передачі, яке буде використовуватися для надсилання повідомлення через SMTP.
7bitзавершиться помилкою, якщо буде виявлено повідомлення, яке не є ASCII.quoted-printableможе бути корисним, коли репозиторій містить файли, що містять символи повернення каретки, але значно ускладнює перевірку необробленого файлу електронної пошти з патчем (збереженого з MUA).base64ще більш надійний, але також ще більш непрозорий.autoвикористовуватиме8bit, коли це можливо, таquoted-printableв іншому випадку.За замовчуванням використовується значення конфігурації
sendemail.transferEncoding; якщо воно не вказано, за замовчуванням використовується значенняauto. - --xmailer
- --no-xmailer
-
Додати (або заборонити додавання) заголовка
X-Mailer:. За замовчуванням заголовок додається, але його можна вимкнути, встановивши для змінної конфігураціїsendemail.xmailerзначенняfalse.
Надсилання
- --envelope-sender=<address>
-
Вкажіть відправника конверта, який використовується для надсилання електронних листів. Це корисно, якщо ваша адреса за замовчуванням не є адресою, підписаною на список розсилки. Щоб використовувати адресу
From, встановіть значенняauto. Якщо ви використовуєте двійковий файлsendmail, ви повинні мати відповідні права для параметра-f. За замовчуванням використовується значення змінної конфігураціїsendemail.envelopeSender; якщо це не вказано, вибір відправника конверта залишається на розсуд вашого MTA. - --sendmail-cmd=<command>
-
Вкажіть команду для надсилання електронного листа. Команда має бути схожою на sendmail; зокрема, вона повинна підтримувати параметр
-i. Команда буде виконана в оболонці, якщо необхідно. За замовчуванням використовується значенняsendemail.sendmailCmd. Якщо не вказано, а також не вказано--smtp-server,gitsend-emailшукатимеsendmailу/usr/sbin,/usr/libта$PATH. - --smtp-encryption=<encryption>
-
Вкажіть, яким чином починається шифрування для SMTP-з’єднання. Дійсні значення:
sslтаtls. Будь-яке інше значення повертається до звичайного (незашифрованого) SMTP, який за замовчуванням використовує порт 25. Незважаючи на назви, обидва значення використовуватимуть ту саму новішу версію TLS, але з історичних причин мають ці назви.sslстосується «неявного» шифрування (іноді його називають SMTPS), яке за замовчуванням використовує порт 465.tlsстосується «явного» шифрування (часто відомого як STARTTLS), яке за замовчуванням використовує порт 25. SMTP-сервер може використовувати інші порти, які не є портами за замовчуванням. Найпоширенішим альтернативним портом дляtlsта незашифрованого з’єднання є 587. Вам потрібно перевірити документацію вашого постачальника або конфігурацію вашого сервера, щоб переконатися у вашому випадку. Значення за замовчуванням –sendemail.smtpEncryption. - --smtp-domain=<FQDN>
-
Вказує повне доменне ім’я (FQDN), яке використовується в команді HELO/EHLO для SMTP-сервера. Деякі сервери вимагають, щоб FQDN збігалося з вашою IP-адресою. Якщо не встановлено,
gitsend-emailнамагається визначити ваше FQDN автоматично. Значення за замовчуванням —sendemail.smtpDomain. - --smtp-auth=<mechanisms>
-
Список дозволених механізмів SMTP-AUTH, розділених пробілами. Цей параметр примусово використовує лише перелічені механізми. Приклад:
$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...
Якщо хоча б один із зазначених механізмів відповідає тим, що рекламуються SMTP-сервером, і якщо він підтримується використаною бібліотекою SASL, цей механізм використовується для автентифікації. Якщо не вказано ні
sendemail.smtpAuth, ні--smtp-auth, можна використовувати всі механізми, що підтримуються бібліотекою SASL. Спеціальне значенняnoneможе бути вказано для повного вимкнення автентифікації незалежно від--smtp-user. - --smtp-pass[=<password>]
-
Пароль для SMTP-AUTH. Аргумент необов’язковий: якщо аргумент не вказано, то як пароль використовується порожній рядок. Значення за замовчуванням —
sendemail.smtpPass, проте--smtp-passзавжди замінює це значення.Крім того, паролі не потрібно вказувати у файлах конфігурації або в командному рядку. Якщо ім’я користувача було вказано (за допомогою
--smtp-userабоsendemail.smtpUser), але пароль не було вказано (за допомогою--smtp-passабоsendemail.smtpPass), то пароль отримується за допомогою git-credential[1]. - --no-smtp-auth
-
Вимкнути SMTP-автентифікацію. Скорочена форма
--smtp-auth=none. - --smtp-server=<host>
-
Якщо встановлено, вказує вихідний SMTP-сервер для використання (наприклад,
smtp.example.comабо необроблену IP-адресу). Якщо не вказано, а також якщо--sendmail-cmdне вказано, за замовчуваннямsendmailшукається в/usr/sbin,/usr/libта$PATH, якщо така програма доступна, в іншому випадку повертається доlocalhost.Для зворотної сумісності цей параметр також може вказувати повний шлях до програми, подібної до sendmail; програма повинна підтримувати параметр
-i. Цей метод не підтримує передачу аргументів або використання простих імен команд. У таких випадках використання розгляньте можливість використання--sendmail-cmd. - --smtp-server-port=<port>
-
Вказує порт, відмінний від порту за замовчуванням (SMTP-сервери зазвичай прослуховують smtp-порт 25, але також можуть прослуховувати порт надсилання 587 або загальний SSL-smtp-порт 465); також приймаються символічні назви портів (наприклад,
submissionзамість 587). Порт також можна встановити за допомогою змінної конфігураціїsendemail.smtpServerPort. - --smtp-server-option=<option>
-
Якщо встановлено, вказує на опцію вихідного SMTP-сервера, яку слід використовувати. Значення за замовчуванням можна вказати за допомогою опції конфігурації
sendemail.smtpServerOption.Опцію
--smtp-server-optionпотрібно повторити для кожної опції, яку потрібно передати серверу. Аналогічно, для кожної опції потрібно використовувати різні рядки у файлах конфігурації. - --smtp-ssl
-
Застарілий псевдонім для
--smtp-encryptionssl. - --smtp-ssl-cert-path
-
Шлях до сховища довірених сертифікатів CA для перевірки сертифікатів SMTP SSL/TLS (або каталог, оброблений
c_rehash, або окремий файл, що містить один або кілька сертифікатів формату PEM, об’єднаних разом: див. опис опцій-CAfile<file> та-CApath<dir> на https://docs.openssl.org/master/man1/openssl-verify/ [сторінка довідника OpenSSL verify(1)] для отримання додаткової інформації про них). Встановіть значення порожнього рядка, щоб вимкнути перевірку сертифіката. За замовчуванням використовується значення змінної конфігураціїsendemail.smtpSSLCertPath, якщо вона встановлена, або скомпільоване значення за замовчуванням бібліотеки SSL, якщо воно не встановлено (що має бути найкращим вибором на більшості платформ). - --smtp-user=<user>
-
Ім’я користувача для SMTP-AUTH. Значення за замовчуванням –
sendemail.smtpUser; якщо ім’я користувача не вказано (з--smtp-userабоsendemail.smtpUser), то спроба автентифікації не виконується. - --smtp-debug=(0|1)
-
Увімкнути (1) або вимкнути (0) вивід налагодження. Якщо ввімкнено, команди та відповіді SMTP будуть виведені. Корисно для налагодження проблем з підключенням TLS та автентифікацією.
- --batch-size=<num>
-
Деякі поштові сервери (наприклад, smtp.163.com) обмежують кількість електронних листів, що надсилаються за сеанс (з’єднання), і це призведе до збою під час надсилання великої кількості повідомлень. З цією опцією send-email відключиться після надсилання <num> повідомлень і зачекає кілька секунд (див.
--relogin-delay), а потім знову підключиться, щоб обійти таке обмеження. Ви можете використовувати певний помічник з обліковими даними, щоб уникнути необхідності повторно вводити пароль щоразу, коли це трапляється. За замовчуванням використовується змінна конфігураціїsendemail.smtpBatchSize. - --relogin-delay=<int>
-
Очікування <int> секунд перед повторним підключенням до SMTP-сервера. Використовується разом з опцією
--batch-size. За замовчуванням використовується змінна конфігураціїsendemail.smtpReloginDelay.
Автоматизація
- --no-to
- --no-cc
- --no-bcc
-
Очищає будь-який список адрес "Кому:", "Копія:", "Прихована копія:", попередньо встановлений через конфігурацію.
- --no-identity
-
Очищає раніше зчитане значення
sendemail.identity, встановлене через конфігурацію, якщо таке є. - --to-cmd=<command>
-
Вкажіть команду, яку потрібно виконати один раз для кожного файлу патча, щоб генерувати записи Кому:, специфічні для файлу патча. Вивід цієї команди має бути однією адресою електронної пошти на рядок. За замовчуванням використовується значення конфігурації
sendemail.toCmd. - --cc-cmd=<command>
-
Вкажіть команду, яку потрібно виконати один раз для кожного файлу патча, щоб створити записи
Cc:, специфічні для файлу патча. Вивід цієї команди має бути однією адресою електронної пошти на рядок. За замовчуванням використовується значення конфігураціїsendemail.ccCmd. - --header-cmd=<command>
-
Вкажіть команду, яка виконується один раз для кожного вихідного повідомлення, та виведіть рядки заголовків у стилі RFC 2822, які потрібно вставити в них. Якщо встановлено змінну конфігурації
sendemail.headerCmd, її значення завжди використовується. Якщо в командному рядку вказано--header-cmd, її значення має пріоритет над значенням змінної конфігураціїsendemail.headerCmd. - --no-header-cmd
-
Вимкніть будь-яку команду заголовка, що використовується.
- --[no-]chain-reply-to
-
Якщо це встановлено, кожен електронний лист буде надіслано як відповідь на попередньо надісланий електронний лист. Якщо вимкнено за допомогою
--no-chain-reply-to, усі електронні листи після першого будуть надіслані як відповіді на перший надісланий електронний лист. Під час використання цього рекомендується, щоб перший наданий файл був оглядом усієї серії патчів. За замовчуванням вимкнено, але для його ввімкнення можна використовувати змінну конфігураціїsendemail.chainReplyTo. - --identity=<identity>
-
Ідентифікатор конфігурації. Якщо задано, значення в підрозділі
sendemail.<identity> матимуть пріоритет над значеннями в розділіsendemail. Ідентифікатором за замовчуванням є значенняsendemail.identity. - --[no-]signed-off-by-cc
-
Якщо це значення встановлено, до списку копій додаються електронні адреси, знайдені в трейлері
Signed-off-byабо рядкахCc:. За замовчуванням використовується значення конфігураціїsendemail.signedOffByCc; якщо це значення не вказано, за замовчуванням використовується--signed-off-by-cc. - --[no-]cc-cover
-
Якщо це значення встановлено, електронні листи, знайдені в заголовках
Cc:у першому патчі серії (зазвичай супровідний лист), додаються до списку копій для кожного набору електронних листів. Значення за замовчуванням – це значення конфігураціїsendemail.ccCover; якщо воно не вказано, значення за замовчуванням –--no-cc-cover. - --[no-]to-cover
-
Якщо це значення встановлено, електронні листи, знайдені в заголовках
To:у першому патчі серії (зазвичай супровідний лист), додаються до списку "Кому" для кожного набору електронних листів. Значення за замовчуванням – це значення конфігураціїsendemail.toCover; якщо воно не вказано, значення за замовчуванням –--no-to-cover. - --suppress-cc=<category>
-
Вкажіть додаткову категорію одержувачів, щоб приховати автоматичне надсилання копії:
-
authorуникатиме врахування автора патча. -
selfуникатиме вказівки відправника. -
ccуникатиме включення будь-кого, згаданого в рядках Cc у заголовку патча, окрім self (для цього використовуйтеself). -
bodyccуникне включення будь-кого, згаданого в рядках Cc, до тіла патча (повідомлення коміту), окрім self (для цього використовуйтеself). -
sobуникатиме врахування будь-кого, згаданого в трейлерах Signed-off-by, окрім себе (для цього використовуйтеself). -
misc-byуникатиме включати будь-кого, згаданого в рядках Acked-by, Reviewed-by, Tested-by та інших рядках з "-by" в тілі патча, окрім Signed-off-by (для цього використовуйтеsob). -
cccmdуникне запуску --cc-cmd. -
bodyеквівалентноsob+bodycc+misc-by. -
allпридушить усі значення автоматичного копіювання.
Значення за замовчуванням – це значення конфігурації
sendemail.suppressCc; якщо воно не вказано, за замовчуванням використовуєтьсяself, якщо вказано--suppress-from, а такожbody, якщо вказано--no-signed-off-cc. -
- --[no-]suppress-from
-
Якщо це значення встановлено, не додавати адресу
From:до спискуCc:. За замовчуванням використовується значення конфігураціїsendemail.suppressFrom; якщо це значення не вказано, за замовчуванням використовується--no-suppress-from. - --[no-]thread
-
Якщо це встановлено, заголовки
In-Reply-ToтаReferencesбудуть додаватися до кожного надісланого електронного листа. Те, чи посилається кожен лист на попередній лист (глибока потоковість згідно з формулюваннямgitformat-patch), чи на перший лист (поверхнева потоковість), визначається--[no-]chain-reply-to.Якщо вимкнено за допомогою
--no-thread, ці заголовки не будуть додані (якщо не вказано за допомогою--in-reply-to). За замовчуванням використовується значення конфігураціїsendemail.thread; якщо воно не вказано, за замовчуванням використовується--thread.Користувач повинен переконатися, що заголовок In-Reply-To ще не існує, коли
gitsend-emailзапитується на його додавання (особливо зверніть увагу, щоgitformat-patchможна налаштувати на власне виконання потоків). Невиконання цієї вимоги може не призвести до очікуваного результату в MUA одержувача. - --[no-]mailmap
-
Використовуйте файл mailmap (див. gitmailmap[5]), щоб зіставити всі адреси з їхнім канонічним справжнім іменем та адресою електронної пошти. Додаткові дані mailmap, специфічні для
gitsend-email, можна надати за допомогою значень конфігураціїsendemail.mailmap.fileабоsendemail.mailmap.blob. За замовчуваннямsendemail.mailmap.
Адміністрування
- --confirm=<mode>
-
Підтвердіть безпосередньо перед відправкою:
-
alwaysзавжди підтверджуватиме перед відправкою. -
neverніколи не підтверджуватиме перед відправкою. -
ccпідтвердить перед надсиланням, коли send-email автоматично додасть адреси з патча до списку копій. -
composeпідтвердить надсилання першого повідомлення при використанні --compose. -
autoеквівалентноcc+compose.
Значення за замовчуванням – це значення конфігурації
sendemail.confirm; якщо воно не вказано, за замовчуванням використовується значенняauto, якщо не було вказано жодного з параметрів придушення, у такому разі за замовчуванням використовується значенняcompose. -
- --dry-run
-
Зробіть усе, крім фактичного надсилання електронних листів.
- --[no-]format-patch
-
Коли аргумент можна розуміти або як посилання, або як ім’я файлу, виберіть, чи розуміти його як аргумент format-patch (
--format-patch), або як ім’я файлу (--no-format-patch). За замовчуванням, коли виникає такий конфлікт,gitsend-emailзавершиться невдачею. - --quiet
-
Зробіть
gitsend-emailменш багатослівним. Один рядок на кожен електронний лист має бути виведений повністю. - --[no-]validate
-
Виконуйте перевірки на безпеку патчів. Наразі валідація означає наступне:
-
Викликати гачок sendemail-validate, якщо він є (див. githooks[5]).
-
Попереджати про латки, що містять лінії, довші за 998 символів, якщо не використовується відповідне кодування для передачі (
auto,base64абоquoted-printable); це пов’язано з обмеженнями SMTP, як описано в https://www.ietf.org/rfc/rfc5322.txt.
Значення за замовчуванням – це
sendemail.validate; якщо це значення не встановлено, використовується значення--validate. -
- --force
-
Надсилайте електронні листи, навіть якщо цьому забороняють перевірки безпеки.
Інформація
- --dump-aliases
-
Замість звичайної операції, виведіть скорочені псевдоніми з налаштованого(их) файлу(ів) псевдонімів, по одному на рядок в алфавітному порядку. Зверніть увагу, що це включає лише псевдонім, а не його розширені адреси електронної пошти. Див.
sendemail.aliasesFileдля отримання додаткової інформації про псевдоніми. - --translate-aliases
-
Замість звичайної операції, читати зі стандартного вводу та інтерпретувати кожен рядок як псевдонім електронної пошти. Перекладати його відповідно до налаштованого(их) файлу(ів) псевдонімів. Виводити кожне перекладене ім’я та адресу електронної пошти на стандартний вивід, по одному на рядок. Див.
sendemail.aliasFileдля отримання додаткової інформації про псевдоніми.
КОНФІГУРАЦІЯ
Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:
|
Warning
|
Missing See original version for this content. |
ПРИКЛАДИ SMTP-СЕРВЕРІВ
Використовуйте Gmail як SMTP-сервер
Щоб використовувати git send-email для надсилання патчів через SMTP-сервер Gmail, відредагуйте ~/.gitconfig, щоб вказати налаштування облікового запису:
[sendemail] smtpEncryption = tls smtpServer = smtp.gmail.com smtpUser = yourname@gmail.com smtpServerPort = 587
Gmail не дозволяє використовувати ваш звичайний пароль для git send-email. Якщо у вашому обліковому записі Gmail налаштовано багатофакторну автентифікацію, ви можете створити пароль для програми, який використовуватиметься з git send-email. Щоб створити його, відвідайте сторінку https://security.google.com/settings/security/apppasswords.
Або ж замість використання пароля для програми ви можете використовувати автентифікацію OAuth2.0 з Gmail. OAuth2.0 безпечніший за паролі для програми та працює незалежно від того, чи налаштовано багатофакторну автентифікацію. OAUTHBEARER та XOAUTH2 – це поширені механізми, що використовуються для цього типу автентифікації. Gmail підтримує обидва. Наприклад, якщо ви хочете використовувати OAUTHBEARER, відредагуйте файл ~/.gitconfig та додайте smtpAuth = OAUTHBEARER до налаштувань облікового запису:
[sendemail] smtpEncryption = tls smtpServer = smtp.gmail.com smtpUser = yourname@gmail.com smtpServerPort = 587 smtpAuth = OAUTHBEARER
Іншою альтернативою є використання інструменту, розробленого Google, відомого як sendgmail, для надсилання електронних листів за допомогою git send-email.
Використовуйте Microsoft Outlook як SMTP-сервер
На відміну від Gmail, Microsoft Outlook більше не підтримує паролі для окремих програм. Тому для Outlook необхідно використовувати автентифікацію OAuth2.0. Крім того, він підтримує лише механізм автентифікації XOAUTH2.
Відредагуйте ~/.gitconfig, щоб вказати налаштування облікового запису для Outlook та використовувати його SMTP-сервер за допомогою git send-email:
[sendemail] smtpEncryption = tls smtpServer = smtp.office365.com smtpUser = yourname@outlook.com smtpServerPort = 587 smtpAuth = XOAUTH2
НАДСИЛАННЯ ПАТЧІВ
Як тільки ваші коміти будуть готові до надсилання до списку розсилки, виконайте такі команди:
$ git format-patch --cover-letter -M origin/master -o outgoing/ $ edit outgoing/0000-* $ git send-email outgoing/*
Під час першого запуску вам буде запропоновано ввести облікові дані. Введіть пароль для програми або звичайний пароль, залежно від обставин.
Якщо у вас налаштовано допоміжний засіб облікових даних (див. git-credential[1]), пароль буде збережено у сховищі облікових даних, тому вам не доведеться вводити його наступного разу.
Якщо ви використовуєте автентифікацію OAuth2.0, вам потрібно буде використовувати токен доступу замість пароля, коли буде запропоновано. Різні генератори токенів OAuth2.0 доступні в Інтернеті. Також доступні помічники з обліковими даними, що підтримуються спільнотою:
-
git-credential-gmail (кросплатформний, спеціалізований помічник для автентифікації облікових записів Gmail)
-
git-credential-outlook (кросплатформний, спеціалізований помічник для автентифікації облікових записів Microsoft Outlook)
-
git-credential-yahoo (кросплатформний, спеціалізований помічник для автентифікації облікових записів Yahoo)
-
git-credential-aol (кросплатформний, спеціалізований помічник для автентифікації облікових записів AOL)
Ви також можете переглянути gitcredentials[7] для отримання додаткових помічників автентифікації на основі OAuth.
Proton Mail не надає SMTP-сервер для надсилання електронних листів. Якщо ви є платним клієнтом Proton Mail, ви можете скористатися Proton Mail Bridge, офіційно наданим Proton Mail, для створення локального SMTP-сервера для надсилання електронних листів. Як для безкоштовних, так і для платних користувачів можна використовувати проекти, що підтримуються спільнотою, такі як git-protonmail.
Примітка: потрібні такі основні модулі Perl, які можуть бути встановлені разом з вашим дистрибутивом Perl:
Також потрібні ці додаткові модулі Perl:
Використання опції sendmailCmd команди git send-email
Окрім надсилання електронних листів через SMTP-сервер, git send-email також може надсилати електронні листи через будь-яку програму, яка підтримує команди, подібні до sendmail. Ви можете ознайомитися з документацією --sendmail-cmd=<команда> вище для отримання додаткової інформації. Ця можливість може бути дуже корисною, якщо ви хочете використовувати іншу програму як SMTP-клієнт для git send-email, або якщо ваш постачальник послуг електронної пошти використовує власні API замість SMTP для надсилання електронних листів.
Як приклад, давайте розглянемо, як налаштувати msmtp, популярний SMTP-клієнт, який можна знайти в багатьох дистрибутивах Linux. Відредагуйте ~/.gitconfig, щоб вказати git-send-email використовувати його для надсилання електронних листів.
[надіслати електронну пошту] sendmailCmd = /usr/bin/msmtp # Change this to the path where msmtp is installed
Посилання на кількох таких помічників, що підтримуються спільнотою, є:
-
msmtp (популярний SMTP-клієнт з багатьма функціями, доступний для Linux та macOS)
-
git-protonmail (кросплатформний клієнт, який може надсилати електронні листи за допомогою API ProtonMail)
-
git-msgraph (кросплатформний клієнт, який може надсилати електронні листи за допомогою Microsoft Graph API)
ДИВ. ТАКОЖ
git-format-patch[1], git-imap-send[1], mbox(5)
GIT
Частина набору git[1]