git の author を最初の commit から修正する
1つ前の記事 を書いたときにサンプルの git リポジトリを作ったんですが、そのときに author の設定を間違えてしまっていて修正したので、修正方法をメモしておきます。
TL;DR
git config --local user.name "[ユーザー名]"
、git config --local user.email "[メールアドレス]"
git rebase -i --root
して全 commit を edit するgit commit --amend --reset-author
git push -f
git rebase -i
の時点で手動になるのでもっといい方法がありそう。
今回は 3 commit で終わったので手動で妥協しました。
author を修正する
git の author の情報(name, email)は git config --local user.name "[ユーザー名]"
および git config --local user.email "[メールアドレス]"
で修正できます。
--local
でリポジトリごとに、 --global
でデフォルト設定を修正できます。
直前の commit の author を修正する
直前の commit の author は git commit --amend --reset-author
で修正できます。
詳しくは以下のブログを参考にしてください。
過去の commit の author を修正する
git commit --amend
では直前の commit しか修正できません。
そこで、 git rebase -i [commit hash]
を用いて過去の commit を修正します。
こちらも詳しくは以下のブログを参考にしてください。
First commit まで rebase する
git rebase -i [commit hash]
だと指定した commit hash の次の commit からしか操作できず、最初の commit を修正できません。
最初の commit を修正するには git rebase -i --root
と指定すればいいです。
こちらも詳しくは以下のブログを参考にしてください。
リモートリポジトリに反映する
修正した内容はリモートリポジトリにも反映させておきましょう。
git push -f
と force push する必要があります。