Spec-Zone.ru › Git

gitmailmap

Имя

gitmailmap - Сопоставление имён авторов/авторов коммитов и/или адресов электронной почты

Синтаксис

$GIT_WORK_TREE/.mailmap

Описание

Если файл .mailmap существует в корне репозитория или по адресу, указанному в параметрах конфигурации mailmap.file или mailmap.blob (см. git-config[1]), он используется для сопоставления имён авторов и авторов коммитов, а также адресов электронной почты с каноническими полными именами и адресами электронной почты.

Синтаксис

Символ # обозначает комментарий до конца строки, пустые строки игнорируются.

В простом формате каждая строка файла содержит каноническое полное имя автора, пробелы и адрес электронной почты, используемый в коммите (включённые в < и >), для сопоставления с именем. Например:

Proper Name <commit@email.xx>

Более сложные формы:

<proper@email.xx> <commit@email.xx>

что позволяет mailmap заменить только часть адреса электронной почты коммита, и:

Proper Name <proper@email.xx> <commit@email.xx>

что позволяет mailmap заменить как имя, так и адрес электронной почты коммита, соответствующего указанному адресу электронной почты коммита, и:

Proper Name <proper@email.xx> Commit Name <commit@email.xx>

что позволяет mailmap заменить как имя, так и адрес электронной почты коммита, соответствующего указанному имени и адресу электронной почты коммита.

Сопоставление адресов электронной почты и имён выполняется без учёта регистра. Например, это также будет соответствовать Commit Name <commit@email.xx> выше:

Proper Name <proper@email.xx> CoMmIt NaMe <CoMmIt@EmAiL.xX>

Примечания

Git не следует символическим ссылкам при доступе к файлу .mailmap в рабочей директории. Это сохраняет поведение согласованным при доступе к файлу из индекса или дерева по сравнению с доступом через файловую систему.

Примеры

Ваша история содержит коммиты двух авторов, Джейн и Джо, чьи имена появляются в репозитории в нескольких формах:

Joe Developer <joe@example.com>
Joe R. Developer <joe@example.com>
Jane Doe <jane@example.com>
Jane Doe <jane@laptop.(none)>
Jane D. <jane@desktop.(none)>

Предположим, что Джо хочет использовать начальную букву своего отчества, а Джейн предпочитает полное написание фамилии. Файл .mailmap для исправления имён будет выглядеть так:

Joe R. Developer <joe@example.com>
Jane Doe <jane@example.com>
Jane Doe <jane@desktop.(none)>

Обратите внимание, что нет необходимости сопоставлять имя для <jane@laptop.(none)> только для исправления имён. Однако, оставление явно неверных <jane@laptop.(none)> и <jane@desktop.(none)> адресов электронной почты в неизменном виде, обычно, не является желаемым результатом. Файл .mailmap также исправляет эти адреса:

Joe R. Developer <joe@example.com>
Jane Doe <jane@example.com> <jane@laptop.(none)>
Jane Doe <jane@example.com> <jane@desktop.(none)>

Наконец, предположим, что Джо и Джейн использовали один адрес электронной почты, но не имена, например, при наличии этих двух коммитов в истории, сгенерированных системой отслеживания ошибок. То есть имена в истории представлены как:

Joe <bugs@example.com>
Jane <bugs@example.com>

Полный файл .mailmap, который также обрабатывает эти случаи (добавление двух строк к приведенному выше примеру):

Joe R. Developer <joe@example.com>
Jane Doe <jane@example.com> <jane@laptop.(none)>
Jane Doe <jane@example.com> <jane@desktop.(none)>
Joe R. Developer <joe@example.com> Joe <bugs@example.com>
Jane Doe <jane@example.com> Jane <bugs@example.com>

См. также

git-check-mailmap[1]

gitmailmap

© 2005–2026 Linus Torvalds and others
Licensed under the GNU General Public License version 2.
https://git-scm.com/docs/gitmailmap

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API