はじめに
メモです。要点だけ書きます。
GitHubにおけるメールアドレスの役割
- 通知メールアドレス
- バックアップメールアドレス
- コミットメールアドレス
恐らく、この3つです。
バックアップメールアドレス・コミットメールアドレスの詳しい説明や設定方法に関しては、GitHub 公式Document を参照してください。
https://docs.github.com/ja/github-ae@latest/github/setting-up-and-managing-your-github-user-account/managing-email-preferences
どうすべきか
GitHubサイト側の設定
https://github.com/settings/emails にアクセスすると、自分のアカウントのメールアドレス設定ができます。
- Keep my email addresses private
- Block command line pushes that expose my email
以上の2つにチェックがついていればひとまず安心です。
Primaryとマークがついているメールアドレスは デフォルトのメールアドレスになるほか、commit時にemail情報として含まれる可能性があります。
メールアドレスを完全に非公開にしたい場合は、念のためローカル側で設定をする必要があります。
ローカル側の設定
$ git config --global user.email [ID]+[username]@users.noreply.github.com
[ID]
と [username]
は置き換えてください。
noreply メールアドレスは https://github.com/settings/emails に記載されています。
過去のコミットをすべて変更したいとき
参考になりました
$ git filter-branch -f --env-filter "GIT_AUTHOR_NAME='hoge'; GIT_AUTHOR_EMAIL='[ID]+[username]@users.noreply.github.com'; GIT_COMMITTER_NAME='hoge'; GIT_COMMITTER_EMAIL='[ID]+[username]@users.noreply.github.com';" HEAD