設定與組態
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
- gitattributes
- 命令列介面規範
- Git 日常使用
- 常見問題 (FAQ)
- 詞彙表
- 掛鉤 (Hooks)
- gitignore
- gitmodules
- 修訂版本 (Revisions)
- 子模組
- 教學
- 工作流程
- 所有指南...
管理
底層命令 (Plumbing Commands)
- 2.32.1 → 2.55.0 無變更
-
2.32.0
2021-06-06
- 2.31.1 → 2.31.8 無變更
-
2.31.0
2021-03-15
描述
如果儲存庫頂層存在 .mailmap 檔案,或是由 mailmap.file 或 mailmap.blob 設定選項所指向的位置存在該檔案(請參閱 git-config[1]),它將用於將作者和提交者的姓名與電子郵件地址,對應為正規的真實姓名與電子郵件地址。
語法 (SYNTAX)
# 字元代表該行剩餘部分為註解,空白行將被忽略。
在簡單形式中,檔案中的每一行由作者的正規真實姓名、空白字元,以及提交時使用的電子郵件地址(以 < 和 > 括起)組成,以對應至該姓名。例如:
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>
範例
您的歷史紀錄中包含兩位作者 Jane 和 Joe 的提交,他們的名字在儲存庫中以多種形式出現:
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 共用一個電子郵件地址,但姓名不同(例如歷史紀錄中有兩個由錯誤報告系統產生的提交)。亦即,歷史紀錄中出現的姓名為:
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
git[1] 套件的一部分