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 件のコメント:
コメントを投稿