Github のプロジェクトに多数のコミットをしましたが、コミットを行うために現在使用しているコンピューターに適切なメール アドレスとコミッターのフル ネームを設定していなかったため、ユーザーのアバターとメール アドレスが存在しないことに気付きました。
過去のコミットメールとユーザー名をすべて書き換えるにはどうすればいいでしょうか?
ベストアンサー1
次のエイリアスを追加できます:
git config --global alias.change-commits '!'"f() { VAR=\$1; OLD=\$2; NEW=\$3; shift 3; git filter-branch --env-filter \"if [[ \\\"\$\`echo \$VAR\`\\\" = '\$OLD' ]]; then export \$VAR='\$NEW'; fi\" \$@; }; f"
著者名を変更するには:
git change-commits GIT_AUTHOR_NAME "old name" "new name"
または、最後の 10 件のコミットのみのメール:
git change-commits GIT_AUTHOR_EMAIL "[email protected]" "[email protected]" HEAD~10..HEAD
エイリアス:
change-commits="!f() { VAR=$1; OLD=$2; NEW=$3; shift 3; git filter-branch --env-filter \"if [[ \\\"$`echo $VAR`\\\" = '$OLD' ]]; then export $VAR='$NEW'; fi\" \$@; }; f"
ソース:https://github.com/brauliobo/gitconfig/blob/master/configs/.gitconfig