まとめてコミットログを修正
ある程度コードを書いた後に、オープンソース化しようとした場合に、コミットログに個人を特定できてしまう情報(作者名やメールアドレス)などが残ってしまっていました。
下記のコマンドは、コミットログを壊さずに(ハッシュ値は変わりますが)それらの情報を修正することができます。
$ git filter-branch -f --commit-filter '
> if [ "$GIT_AUTHOR_EMAIL" = "before@example.com" ];
> then
> GIT_AUTHOR_NAME="after";
> GIT_AUTHOR_EMAIL="after@example.com";
> GIT_COMMITTER_NAME="after";
> GIT_COMMITTER_EMAIL="after@example.com";
> git commit-tree "$@";
> else
> git commit-tree "$@";
> fi' HEAD
if
文に、変更したいコミットの条件を記述し、
then
〜else
の間に変更したい内容を記述して下さい。
補足
-
GIT_COMMITTER_NAME
とGIT_COMMITTER_EMAIL
も含めること。-
GIT_COMMITTER_NAME
とGIT_COMMITTER_EMAIL
を指定しないで上記コマンドを実行した場合、git log
コマンドでは確認できませんでしたが、SourceTree
ではコミッターが変更されていませんでした。
-
参考
以上