よく「歴史を書き換える」と言われている作業です
特に今回はコミットログとコミットしたユーザ情報を書き換える方法をご紹介します
違うマシンからpushすると.git/configとかを設定するのを忘れて変なユーザでコミットすることがたまにあるのでメモしておきます
git rebase -i HEAD~3
3の部分はHEADからどらくらいまで遡るかを指定します
3つ前のpushまで書き換えたい場合は3を指定します
エディタが立ち上がるので歴史を書き換えたい行をpick -> editをする
:wqで保存
editとした部分で止まるのでコミッター情報を書き換える
git commit --amend --author="username <email@address.com>"
エディタの起動とともにコミットログを書き換える画面が表示されるのでコミットログを書き換える
このとき全く書き換えないとpushすることができないっぽいので、ちょっとでもいいので変更すること
git push -f
コミットが完了したらpushする、このとき「-f」をつけてローカルの変更を無理矢理メインストリームにpushする
Github上のコミットログで確認するとログとコミッタ情報が書き換えられていると思います
git rebase --continue
rebase作業を続けます
他にもeditを指定している場合は同じように修正してcommit -> pushします
すべてのeditが終了すれば完了です
以上です
「-f」でローカルの情報を強制的にpushするのでローカルの情報はpullして最新の状態にしてから実施することをおすすめします
0 件のコメント:
コメントを投稿