過去のコミットのユーザ名とメールアドレスを変更する

コミットしてもgithubに芝が生えない(コントリビュートが反映されない)原因として、githubのアカウントとコミットのユーザ情報が一致していないという問題があります。
一生懸命開発して緑でいっぱいにしたいと思ってもそれでは意味がありません。

気づかずに何日もコミットしてふと見てみたら反映されていない!今までの苦労は?となったことありませんか?ありますよね。ありました。

今回はそんなとき過去のコミットの情報を変更する方法です。


スポンサーリンク





コミットしていない内容はないか確認

git statusして以下のように返ってきたら問題ありませんが、コミットしていない内容があった場合はコミットしておいてください。

またはgit rm --cached [ファイル名]で管理から除外させてください

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

書き換え

AUTHORとCOMMITTERの情報を書き換えます。

以下の方法で書き換わりますが、過去のコミットの情報が全て変わりますので、注意してください。

特定のコミットの情報を書き換える方法もございます。

こちらが参考になります。

shiro-goma.hatenablog.com

git filter-branch -f --commit-filter '
    GIT_AUTHOR_NAME="your_name"
    GIT_AUTHOR_EMAIL="your_email@gmail.com"
    GIT_COMMITTER_NAME="your_name"
    GIT_COMMITTER_EMAIL="your_email@gmail.com"
    git commit-tree "$@"
' HEAD

上記実行して下記のエラーが出たらgit statusです!

Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.

こんなことが無いようにしっかり設定しよう

% git config --global user.name "your_name"
% git config --global user.email your_email@gmail.com
% git config --list
user.name=your_name
user.email=your_email@gmail.com

大事

参考になりました。
ありがとうございます。

www.d-wood.com

qiita.com