ぴよがち

技術的な話をします。みんなで強くなりましょう。

GitHubでコミット履歴のアカウントを変える方法

GitHubでCommitした人のアカウント名とアイコンを表示する部分あるじゃないですか。

GitHubのコミットした人のアカウント名とアイコンを表示する部分

同じ端末でアカウントを2つ以上使ってるときに、ここの変え方がわからなくて困ったのでメモ。

コミット履歴のアカウントの変え方

赤枠部分で表示されるアカウントは、コミットした際にローカルのgitで使用しているuse.emailをGitHubが見て、そのメールアドレスで登録されているGitHubアカウントを見つけてくることで紐づけてるようです。

そのため、ローカルのgitのメールアドレスを赤枠部分で表示したいアカウントのものに設定してやれば解決します。

$ git config user.email yourNewAddress@example.com

めでたしめでたし。

過去のコミットのメールアドレスの変え方

すでにCommitしちゃった分の表示も変えたい人向け。

CommiterとAuthorの両方を変更する必要があるようです。

Windowsの人はGit Bashあたりから実行してください。

$ newName=yourName
$ newEmail=yourNewAddress@example.com
$ git filter-branch -f --env-filter "GIT_AUTHOR_NAME='$newName'; GIT_AUTHOR_EMAIL='$newEmail'; GIT_COMMITTER_NAME='$newName'; GIT_COMMITTER_EMAIL='$newEmail';" HEAD

すでにPushしてある分については、上のコマンドでローカルを変更した後にForce Pushを実行する必要があります。

特にほかの人と共同で作業している場合には、Force Pushで何が起こるかを把握したうえで実行しましょう。