🦁
Git: コミット済みのAuthorとCommit情報を変更する方法(rebase)
過去にコミット(すでにPushした場合も含む)したAuthorとCommitの情報(Emailアドレスや表示名前など)を変更したい場合の手順をまとめています。
.gitconfigファイルの修正
まずは自分のユーザ名やメールアドレスなどを正しく修正しておきます。
リベースする
コミットIDを調べる
修正したいコミットのコミットIDを調べ、そのコミットID以降をリベースします。
リベースを開始する
git rebase -i <修正したいコミットの一つ前のコミットIDを指定>
上記コマンドを実行すると、エディタが表示されます。指定したコミットID以降のコミット情報が上から古い順に表示されているはずですので、
その該当コミットIDの部分をedit
に変更し、セーブしてエディタを閉じます。
Author/Commitの情報を変更する
git commit --amend --reset-author
リベースを実施
場合によってはこの部分が一番面倒です。特に問題がなければ以下のコマンドを実行して終了ですが、リベースポイント(対象コミット)以降のコミットに対して、それ以降にやったマージ作業がローカルで実施されるため、仮に過去にコンフリクトが発生して手動マージしていた場合には、同様の作業を最新の所まで再実施する必要があります。これがとても面倒です。コンフリクトによりエラーが発生した場合、コンフリクトを解消し、$ git add 該当ファイル
を行い、再度以下のコマンドを実行します。
git rebase --continue
確認
git log
コマンドでAuthor/Commitの情報が変更されていることを確認します。
コミット
すでにPush済の場合は、以下のコマンドを実行する必要があります。
git push -f
Discussion