GitHubのAuthorを全コミット変更したい。
こんな要望ありますよね。
GitHubを使い始める時にユーザー名とメールアドレスと設定します。
こんな感じに。
1 2 |
git config --local user.name ユーザー名 git config --local user.email メールアドレス |
ただこれメールアドレスを間違っていると違う人がコミットしたことになったり自分がコミットしたことにならなかったりと色々面倒なことになります。
一人で開発して結構コミットした後に気づくと絶望です。
それを一行で解決する方法が以下のコマンド。
1 |
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='変更したいユーザ名'; GIT_AUTHOR_EMAIL='変更したいメールアドレス'; GIT_COMMITTER_NAME='変更したいユーザ名'; GIT_COMMITTER_EMAIL='変更したいメールアドレス';" HEAD |
これした後に force push しないといけません。
実際に使っているメールアドレスをコミットに使いたくない。
パブリックなリポジトリのコミットメールアドレスはログを見ると簡単に見ることができます。
こんな感じで使用されたり。
コミットログからメアド取るのが常に悪いとは言わない。どうしても僕に連絡を取りたいなら使ってもいい。が、それは「どうしても」っていうときだけにしてほしい。クロールしてスパム的に利用するのは心情的にどうかと思う。合法かどうかではなく。https://t.co/F3JWJJXSqL
— Junichi Ito (伊藤淳一) (@jnchito) 2017年6月21日
なので実際に使用しているメールアドレスは嫌だなぁという人専用のGitHubアドレスというものがあります。
これを有効にするには「Settings」→「Emails」→「Keep my email address private」にチェックを入れます。
すると以下のメールアドレスをcommit時に使用することでGitHubアカウントのメールアドレスとして認識されるようになります。
username@users.noreply.github.com
知らなんだなぁ。
ちなみに「Keep my email address private」にチェックが入っている状態でGitHubアドレス以外のアドレスでコミットされたものをpushしようとするとエラーになります。
参考
Git の Commit Author と Commiter を変更する
AuthorのメールアドレスをGitHub用のアドレスに変更する
スポンサードリンク