Git の Commit Log を編集するのではなく、Commit 自体を取り消す。
本作業が必要になったケ-ス
Commit の内容や、Commit したユ-ザ-の情報が問題な場合。
手順
リモ-トとロ-カルのリポジトリの内容が同じ状態で、ロ-カルのリポジトリを操作→ Commit → Push (強制) でCommit Log から問題の Commit を取り除く。
1.リモ-ト・ロ-カルの同期
git pull 等でロ-カルのリポジトリをリモ-トと同じにする。
2.Git Rebase で Commit 履歴を操作
下記コマンドを実行してCommit 履歴を操作する。
git rebase -i HEAD~n
*
『n』は最新の Commit から取り消したい Commit までの累積 Commit 数 + 1
Commit 識別番号を元に、表示された Commit 履歴の行から取り消したい Commit までを削除して保存する。
保存して問題なければ下記メッセ-ジが表示される。
Successfully rebased and updated refs/heads/master.
下記コマンドを実行してリモ-トリポジトリへ強制 Push する。
git push -f
最後に
履歴管理の履歴自体を操作する作業なので、もうやりたくないと思った (小並感)。