1. ホーム
  2. git

[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。

2022-02-04 10:50:55

質問

GitHubでプルリクエストを受け入れ、マージしたところ、自分のコミットをプルできなくなりました。

というメッセージが表示されます。

! [remote rejected] master -> master (push declined due to email privacy restrictions)
error: failed to push some refs to '[email protected]:FranckFreiburger/vue-resize-sensor.git'


git did not exit cleanly (exit code 1) (3838 ms @ 12/04/2017 21:23:11)

これからどうすればいいのでしょうか?

解決方法は?

リモートリポジトリは、個人的な電子メールアドレスを明らかにするようなコミットをプッシュできないように設定されています。例えば、GitHub で、あなたは 私の電子メールを公開するコマンドラインのプッシュをブロックする にチェックを入れる。 有効にする .

もちろん、この設定をオフにすることもできますが、作者情報はリポジトリにアクセスできる人なら誰でも読むことができるため、世界中の人にあなたのプライベートなメールアドレスを公開することになります。

代わりに、次のようにしてください。

  1. 個人のメールアドレスが表示されます。これは、Git でのコミットに対してデフォルトで使用されるメールアドレスです。

    git config --global user.email
    
    
  2. を検索してください。 GitHubのnoreplyアドレス を GitHub の 個人設定 → メール . の説明に記載されています。 メールアドレスを非公開にする のチェックボックスにチェックを入れます。通常、一意の識別子とユーザー名で始まります。

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

  3. グローバルユーザーのメールアドレス設定を、GitHubのnoreplyアドレスに変更します。

    git config --global user.email {ID}+{username}@users.noreply.github.com
    
    
  4. 最後のコミットの作者情報をリセットします。

    git commit --amend --reset-author
    
    

    プライベートなメールアドレスで複数のコミットをしている場合は この回答 .

  5. これで、noreply のメールアドレスを持つコミットをプッシュできるようになり、今後のコミットも同様に noreply のメールアドレスを持つようになります。

    git push