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

名前

gitmailmap - 作成者/コミッター名および/またはEメールアドレスをマップする

概要

$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 は指定されたコミット名とメールアドレスの両方に一致するコミットの名前とメールの両方を置き換えることができます。

Eメールと名前はどちらも大文字と小文字を区別せずに照合されます。例えば、上記の 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)> の Eメールをそのままにしておくことは、通常は望ましくありません。これらも修正する .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 が Eメールアドレスを共有していたが、名前は共有していなかった、たとえば、バグ報告システムによって生成された履歴にこれらの2つのコミットがあったとしましょう。つまり、履歴に表示される名前は次のようになります。

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

これらのケース(上記の例に2行追加)も処理する完全な .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

git[1]スイートの一部

scroll-to-top