Closed5

git push しようとして "push declined due to email privacy restrictions" と言われた時の対応

nbstshnbstsh

git push しようとして、

 ! [remote rejected] main -> main (push declined due to email privacy restrictions)

と言われた。

つい最近、github で Email の設定を private に変更したので、おそらくその影響。
(github の commit から email を取得して、スパムを送ってくる海外の会社が存在すると聞いたので private にした)

対応をメモとして残す。

nbstshnbstsh
nbstshnbstsh

commit 時の email を private な email から変更

commit 時に記載される email を private な email から公開されても問題ないものに変えていく。

現状の email を確認

git config --global user.email

Github noreply adress を取得

Settings > Email から "noreply" で検索をかければ見つかる

{ID}+{username}@users.noreply.github.com

user.email を Github noreply adress に変更

git config --global user.email {ID}+{username}@users.noreply.github.com
nbstshnbstsh

既存の commit 内の private な email を一括変更

{ID}+{username}@users.noreply.github.com は自分のものに適宜変更

$ git filter-branch -f --env-filter "GIT_AUTHOR_EMAIL='{ID}+{username}@users.noreply.github.com'; GIT_COMMITTER_EMAIL='{ID}+{username}@users.noreply.github.com';" HEAD 
このスクラップは2022/04/27にクローズされました