Git
.mailmap file: Связанные авторы и псевдонимы электронной почты
Поиск…
Синтаксис
- # Только заменить адреса электронной почты
<primary@example.org> <alias@example.org> - # Заменить имя по адресу электронной почты
Участник <primary@example.org> - # Объединить несколько псевдонимов под одним именем и электронной почтой.
# Примечание. Это не будет связывать «Other <alias2@example.org>».
Участник <primary@example.org> <alias1@example.org> Участник <alias2@example.org>
замечания
Файл .mailmap
может быть создан в любом текстовом редакторе и представляет собой просто текстовый файл, содержащий дополнительные имена участников, основные адреса электронной почты и их псевдонимы. он должен быть помещен в корень проекта, рядом с каталогом .git
.
Имейте в виду, что это просто изменяет визуальный вывод команд, таких как git shortlog
или git log --use-mailmap
. Это не будет переписывать историю фиксации или предотвращать коммит с разными именами и / или адресами электронной почты.
Чтобы предотвратить коммит на основе информации, такой как адреса электронной почты, вместо этого вы должны использовать git hooks .
Объедините вкладчиков с помощью псевдонимов, чтобы показывать количество фиксаций в коротком сообщении.
Когда вкладчики добавляют к проекту с разных компьютеров или операционных систем, может случиться так, что они используют для этого разные адреса или имена электронной почты, которые будут фрагментировать списки участников и статистику.
Запуск git shortlog -sn
для получения списка участников и количества коммитов от них может привести к следующему результату:
Patrick Rothfuss 871
Elizabeth Moon 762
E. Moon 184
Rothfuss, Patrick 90
Эта фрагментация / диссоциация может быть скорректирована с помощью простого текстового файла .mailmap
, содержащего сопоставления электронной почты.
Все имена и адреса электронной почты, перечисленные в одной строке, будут связаны с первым именованным объектом соответственно.
В приведенном выше примере отображение может выглядеть так:
Patrick Rothfuss <fussy@kingkiller.com> Rothfuss, Patrick <fussy@kingkiller.com>
Elizabeth Moon <emoon@marines.mil> E. Moon <emoon@scifi.org>
Как только этот файл существует в корне проекта, запуск git shortlog -sn
снова приведет к сокращенному списку:
Patrick Rothfuss 961
Elizabeth Moon 946