ブログの動機
うっかりして、会社のPCでプライベートのGitにコミットしてしまうと、author
やcommiter
が会社のものになってしまいます!
その度にauthor
やcommiter
を修正するのですが、肝心のコマンドが直ぐに思い付かずググっていました。。。もう二度とググりたくないと誓い、自分用のメモとしてまとめます。
gitコミットログを確認
$ git log --pretty=full
commit 186543f9bece44383ab973dc0253946bf09b159f
Author: 会社の <会社の@example.com>
Commit: 会社の <会社の@example.com>
commit message2
commit 25ddf087cfe17f7f71c1fd273eed931b39c71a4b
Author: 自分の <自分の@example.com>
Commit: 自分の <自分の@example.com>
commit message1
authorのみ変更
git rebase -i <修正したいコミットの一個前のコミットハッシュ>
例えば、commit message2
のauthor
を変更するなら
1. git rebase -i 25ddf087cfe17f7f71c1fd273eed931b39c71a4b
で修正したい対象のpick -> edit
2. git commit --amend --author="自分の<自分の@example.com>"
3. git rebase --continue
authorとcommitter両方変更する
git configを修正
configを正しい状態に設定する。
local configを確認する方法:
git config --local --list
$ git config --local user.name 自分の
$ git config --local user.email 自分の@example.com
ログを修正
1.git rebase -i <commit hash>
2.git commit --amend --reset-author これを実行することで、一発でcommiterとauthorが修正できる
3.git rebase --continue
4.git log --pretty=full で正しく修正されたのを確認
これで正しく修正できた
## 補足
一番最初のコミットを修正する際は、
git rebase -i --root <commit hash>
でやります。