1. ホーム
  2. ギット

[解決済み】Git、以前のコミットのユーザー名とメールを書き換える

2022-04-04 08:49:37

質問

Github のプロジェクトに大量のコミットをしましたが、現在コミットするために使用しているコンピュータで適切な電子メールとコミッターのフルネームを設定していないことに気づき、そのためユーザーのアバターと電子メールアドレスが存在しません。

過去のコミットメールとユーザー名をすべて書き換えるにはどうしたらよいですか?

解決方法は?

このエイリアスを追加することができます。

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