2018年3月23日金曜日

GitHubへのpush時に "Your push would publish a private email address." エラー

cloud9からGitHubに push しようとしたらこんなエラーに遭遇しました。

remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: http://github.com/settings/emails
To https://github.com/*****/*****.git
 ! [remote rejected] master -> master (push declined due to email privacy restrictions)
error: failed to push some refs to 'https://github.com/*****/*****.git'

「このまま push すると private のメールアドレスが公開されちゃうけど良いの?
そのメールアドレスを public に変更するかこのエラーを出す設定をオフにしてね!」的なエラーメッセージ。

GitHubのこの画面の設定のことを言っているようです。

public にしたくないアドレスだし今後もこのエラーは出し続けてほしいので、
現在のメールアドレス設定を確認。

$ git config --global user.email

すると、以前ちゃんと変えたつもりがまた公開したくないアドレスになっている。
cloud9 の workspace を変えるともとに戻ってしまう様子?これはどの設定のメールアドレスから引っ張ってきてるのかあとで確認しよう…

ダミーのアドレスに設定

$ git config --global user.email "*****@users.noreply.github.com"

メールアドレスは commit 時に記録されているようで、このまま再push しても同じエラーが出ました。なので一旦 commit を取り消します。

ワークディレクトリの内容はそのままでコミットだけを取り消し

$ git reset --soft HEAD^^

これで add された状態にもどりましたが、ちょっと add からやり直したい事情が出てきたので(コミットを分けたかった)

$ git reset HEAD

で一旦 add も取り消し。
で、 add→commit をやり直すと問題なく push できました。
git log のメールアドレスもちゃんと変わっていることを確認。

参考:
GitHub でダミーのメールアドレスを使用する
https://qiita.com/sta/items/982ab68e8220a81d485c

[Git]コミットの取り消し、打ち消し、上書き
https://qiita.com/shuntaro_tamura/items/06281261d893acf049ed

git の add を取り消す
https://qiita.com/nabezokodaikon/items/7ee4900d28d8d863978e

※ちなみに一番最初のコミットは取り消し方が異なる。

$ git update-ref -d HEAD

参考:
初回のコミットを取り消したいときにはgit update-refを使う
https://suzuken.hatenablog.jp/entry/2014/03/28/100311

0 件のコメント:

コメントを投稿