きっかけは、Codex Cloud の「本名が出た」話
10月5日に、hitsujin さんのブログを読みました。
Codex Cloud(OpenAI のクラウドでコードを直してくれる AI)に修正を頼んだら、コミットの作者名に本名が入っていた、という話です。ChatGPT ではハンドルネームを使っていたのに、契約のときに登録した本名のほうが使われた。force push で直しても、プルリクエストに履歴が残る。結局、リポジトリごと作り直したそうです。
読んで、最初は「僕は本名を出して仕事しているし、関係ないかな」と思いました。
でも、ふと気になった。
「じゃあ、メールアドレスは?」
そもそも、コミットには何が残るのか
Git のコミットには、1件ずつ「誰が書いたか」が入っています。名前とメールアドレスです。
この2つは、自分の PC の Git の設定(user.name と user.email)から、そのまま入ります。GitHub のアカウントとは別物です。
で、ここが落とし穴で。
GitHub のプロフィールでメールを「非公開」にしていても、コミットの中のメールは、誰でも見られます。 たとえば、GitHub のコミットの URL の末尾に .patch を付けて開くと、1行目に作者の名前とメールがそのまま出ます。
公開リポジトリなら、ログインしていない人でも見られます。API を使えば、まとめて集めることもできる。
調べたら、5つ出てきました
自分の公開リポジトリを全部、それぞれ直近100件のコミットについて調べました。
出てきた僕のメールアドレスは、5種類。
- 個人の Gmail が4つ(昔のものも含めて)
- 会社のメールが1つ
Gmail が入ったコミットは、全部で約710件。いま使っている設定のアドレスだけでなく、何年も前の PC で使っていたアドレスまで残っていました。
正直、これはちょっと恥ずかしかった。うちは「公開ページにメールアドレスを直接書かない」と決めて、問い合わせはフォームにしています。なのに、GitHub の上では普通に出ていた。
もう1つ、変なのがありました。
tsubasa@example.com
仮のアドレスです。27件ありました。どこかの環境で、作者の設定が仮の値のまま使われた跡です。漏れてはいないので害はありません。ただ、GitHub のアカウントにも紐づかないので、自分の活動としても数えられていません。
hitsujin さんの件と同じで、自分で設定していないところで、作者が勝手に決まっていたわけです。
自分のリポジトリを確かめる方法
手元にリポジトリがあるなら、その中でこれを打つだけです。
git log --format='%an <%ae>' | sort | uniq -c
そのリポジトリのコミットに入っている名前とメールが、件数つきで並びます。
いまの設定がどこから来ているかは、こちらで分かります。
git config --show-origin user.email
--show-origin を付けると、どの設定ファイルの値が使われているかまで出ます。ここ、大事です。後で書きますが、僕はこれで引っかかりました。
これからの分を止める:noreply アドレスに切り替える
GitHub は、1人ずつ専用の「返信不要(noreply)」のアドレスを用意しています。形はこうです。
<数字のID>+<ユーザー名>@users.noreply.github.com
自分のアドレスは、GitHub の Settings → Emails に書いてあります。これを Git の設定に入れます。
git config --global user.email "<数字のID>+<ユーザー名>@users.noreply.github.com"
このアドレスでコミットしても、GitHub はちゃんと自分のアカウントの活動として数えてくれます。詳しくは GitHub Docs のコミットメールの設定にあります。
あわせて、同じ Settings → Emails で次の2つをオンにします。
- Keep my email addresses private(Web 上の操作で、メールを出さない)
- Block command line pushes that expose my email(個人メールの入ったコミットを push しようとしたら、止める)
2つ目が効きます。別の PC やクラウドの環境で設定を忘れても、push の時点で止めてくれる。
global を変えただけでは、足りなかった
で、僕が引っかかったのがここです。
global の設定を noreply に変えて、安心していました。念のため、手元のリポジトリを1つずつ見てみたら、7つのリポジトリで、古い Gmail がリポジトリごとの設定に残っていました。
Git の設定は、リポジトリごとの設定のほうが global より優先されます。なので、そこに古いアドレスがあると、global をいくら直しても、そのリポジトリでは古いアドレスで記録され続けます。
さっきの git config --show-origin user.email を、よく使うリポジトリの中で打ってみてください。.git/config と出たら、そのリポジトリだけ別の設定が入っています。消すならこうです。
git config --local --unset user.email
過去の分は、どうするか
GitHub Docs にもはっきり書いてあるとおり、設定を変えてもそれ以前のコミットは古いアドレスのままです。
過去の分を消すには、履歴を書き換えて force push するしかありません。ただ、hitsujin さんの件のとおり、プルリクエストの記録には跡が残ります。それに、公開していた期間に誰かが集めていたら、もう取り返せない。
なので、僕はこう分けました。
| 状況 | どうしたか |
|---|---|
| 自分だけのリポジトリで、コミットが少なく、フォークもない | 書き換えた |
| 何年も公開していて、件数が多い | そのまま。「もう公開されたアドレス」として扱う |
| 他の人のプロジェクトに送って、マージされたもの | 消せない。相手の履歴なので、そのまま |
書き換えたのは、会社のメールが入っていた小さなリポジトリ1つだけです。コミットは6件、フォークもスターも0。git filter-repo の --mailmap で、古いアドレスを noreply に置き換えました。ファイルの中身が書き換え前と1文字も変わっていないことを確かめてから push しています。
逆に、2017年に WordPress の日本語マニュアルへ修正を送ったときのフォークは、そのままにしました。1件は本家にマージされていて、そちらは消せません。9年前のコミュニティへの貢献なので、まあいいかと。
Gmail の約710件も、書き換えていません。迷惑メール対策で受けることにしました。
「集めて、スカウトに使えばいいのでは」と思った人へ
調べている途中で、ちょっと思いました。
「これ、GitHub で活発な人のメールを集めて、採用の声をかけるのに使えるのでは?」
それは無理です。GitHub の規約(Acceptable Use Policies)の「7. Information Usage Restrictions」で、GitHub から得た情報を、スクレイピングでも API でも、求められていないメールを送るために使うことは禁止されています。リクルーターやヘッドハンターに個人情報を渡すことも、名指しで書かれています。
日本でも、個人情報を集めて使うなら利用目的を示す必要があります。それに、コミットのメールに届く「あなたの GitHub が素晴らしいので」は、エンジニアのあいだでいちばん嫌われるスカウトです。
声をかけたいなら、本人がプロフィールやブログに出している連絡先に、1人ずつ。それが筋です。
AI とクラウドが増えるほど、作者を確かめる場面が増える
hitsujin さんの件も、僕の example.com も、原因は同じでした。自分で設定していない環境で、作者が勝手に決まった。
Codex Cloud や Claude Code のクラウド版のように、AI がクラウドでコミットしてくれる環境はどんどん増えています。研修で受講生の PC に Git を入れるときも、名前に本名、メールに私用のアドレスをそのまま入れる場面はよくあります。
なので、新しい環境で最初のコミットをする前に、これだけは確かめる。
git config user.nameとgit config user.emailを打って、何が入っているか見る- メールは noreply にしておく
- GitHub の「Block command line pushes that expose my email」をオンにしておく
3つとも、1分もかかりません。
GitHub をこれから使い始める人は、無料でどこまでできるかをまとめた記事もあります。最初の設定のときに、一緒に noreply にしておくのがおすすめです。
▼関連記事
GitHubはどこまで無料で使えるのか—AIに書かせる時代の始め方
AI に渡したデータがどこに残るかも、同じ「自分で決めていないところで決まる」話です。
▼関連記事
そのデータ、どこに何日残りますか? 「うちの顧客データを入れて、大丈夫なんですか?」
参考
- Codex Cloudで本名が出た件(hitsujin さんのブログ)
- Setting your commit email address(GitHub Docs)
- GitHub Acceptable Use Policies(GitHub Docs)
- git-filter-repo(GitHub)
GitHub の設定の名前は、2026年10月6日時点のものです。
GitHub と AI の使い始めを、一緒に整えたい方へ
うちの研修では、Claude Code を入れる最初の時間に、Git の設定も一緒に確かめています。非エンジニアの方が自分の PC で作り始めるとき、最初に決めておくと後で困らないことは、意外と多いです。
- 香川では、非エンジニアの方が1ヶ月で「作る側」に回りました。→ AI×ノーコード ブートキャンプ2026(香川)開催レポート
社内で GitHub や AI のコーディングツールを使い始めるときの、最初の設定や決めごとのご相談も受けています。


