Git
日本語 ▾ トピック ▾ 最新バージョン ▾ gitmailmapは2.32.0で最後に更新されました

名前

gitmailmap - 作成者/コミッターの名前またはメールアドレス、あるいはその両方をマッピングする

概要

$GIT_WORK_TREE/.mailmap

説明

リポジトリのトップレベル、または`mailmap.file`もしくは`mailmap.blob`設定オプション(git-config[1]参照)で指定された場所に`mailmap`ファイルが存在する場合、作成者とコミッターの名前とメールアドレスを正規の実際の名前とメールアドレスにマッピングするために使用されます。

構文

*# 文字は行末までのコメントを開始し、空行は無視されます。*

単純な形式では、ファイルの各行は、作成者の正規の実際の名前、空白、およびコミットで使用されたメールアドレス( *<* と *>* で囲む)で構成され、名前にマップされます。例えば

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`ファイルにアクセスする際に、シンボリックリンクをたどりません。これにより、ファイルがインデックスまたはツリーからアクセスされる場合と、ファイルシステムからアクセスされる場合の動作の一貫性が保たれます。

履歴には、JaneとJoeという2人の作成者によるコミットが含まれており、その名前はリポジトリにいくつかの形式で表示されます。

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)>

ここで、Joeはミドルネームのイニシャルを使用することを望んでおり、Janeは姓を完全に綴ることを好みます。名前を修正するための`.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とJaneがメールアドレスを共有していたが、名前は共有していなかったとしましょう。たとえば、バグ報告システムによって生成されたこれらの2つのコミットが履歴にある場合などです。つまり、履歴に表示される名前は次のようになります。

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

これらのケースも処理する完全な`.mailmap`ファイル(上記の例に2行を追加)は次のようになります。

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

git[1]スイートの一部

scroll-to-top