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 のメールアドレスもちゃんと変わっていることを確認。