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>
См. также
gitmailmap
© 2005–2026 Linus Torvalds and others
Licensed under the GNU General Public License version 2.
https://git-scm.com/docs/gitmailmap