概要
プッシュ済みコミットのユーザ名を変更したい
経緯
ユーザ名を設定していない git 環境で、コミットとプッシュを行ってしまった。
結果、github 上のリポジトリに意図しない名前が残ってしまった。
ちなみに初期コミットの情報を編集するのはちょっとクセがある。
必要条件
git 1.7.12 以降が必要。
もし古ければ新しいものをインストールしましょう。
# wget https://git-core.googlecode.com/files/git-1.8.3.2.tar.gz # tar xzvf git-1.8.3.2.tar.gz # ./configure (/usr/local/bin/git で良い場合はこれ) # ./configure --prefix=/usr (/usr/bin/git にする場合はこれ) # make # make install
注意
プッシュ済みのコミット情報変更には git push -f が伴います。
取り扱いにご注意。
コミット編集
--author オプションにユーザ名とメールアドレスを指定します。
今回の例では、
- ユーザ名: abc
- メールアドレス: def@ghi.jkl
とします。
$ cd {project_dir} $ git rebase -i --root pick 8c475fb hogehoge (ここの pick を edit に変更して保存する) pick 4869f81 fugafuga … $ git commit --amend --author="abc <def@ghi.jkl>" hogehoge (コメントの編集も必要ならこの行を編集して保存。必要なければそのまま保存) … $ git rebase --continue $ git push -f
ユーザ名とメールアドレスの書き換え完了。
ブラウザからgithubのコミットログを確認しましょう。
ユーザ名とメールアドレスが変わっているはずです。