こんにちは!テックアカデミーのWebアプリコース卒業生の駆け出し高校生エンジニア「安田駿介」です。
今回は、「GitHubのプッシュ時 "Your push would publish a private email address"の解決法」というテーマで解説していきます。
#エラーの意味
プッシュをすると、GitHubで設定したプライベートメールアドレスが公開されてしまいます。
#エラーの原因
GitHubの設定で、そのEメールを公開しないという設定をしたからです。
確認方法としては、GitHub➔settings➔Emailsで、「Keep my email addresses private」というところがチェックになっています。
このチェックを外せば、今回の問題は解決しますが、メールアドレスが公開されてしまうため、おすすめはしません。
なので、違う解決策を紹介していきます。
#解決策
1.git update-ref -d HEAD または git reset --soft HEAD^^
2.Emailの変更
3.保存してプッシュ
順番に解説していきます。
##1.git update-ref -d HEAD または git reset --soft HEAD^^
この動作は、commit を取り消す操作です。
これで、git add をした状態まで戻ります。
僕がネットで調べたら、git reset --soft HEAD^^ と実行すれば保存が解除されると書いてありましたが、僕の場合はそれではダメで、git update-ref -d HEADを実行したら、commitが取り消されました。
##2.Emailの変更
GitHub の Setting の Emails,Keep my email addresses privateの文章中に"<数字 8 桁くらい>+<ユーザ名>@users.noreply.github.com"みたいなアドレスがあると思うので,それをコピーします。
そして以下のコマンドで email の config を変更してください。
##3.保存してプッシュ
あとは、 add して commit して push をすれば、できるはずです。
#開発環境
・AWS
・Cloud9
・Ruby 3.0.0
・Rails 6.1.3.1
・GitHub