web-dev-qa-db-ja.com

GitHubメッセージの意味:電子メールのプライバシー制限によりプッシュが拒否されました

私は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)

私は今どうすればいい ?

129

これはおそらく、 新しいGitHub設定 によってコマンドラインのプッシュがブロックされ、メールアドレスが公開されることが原因で発生します。

メール設定 の[自分のメールを公開するコマンドラインプッシュをブロックする]チェックボックスをオフにしてからもう一度押します。

99
Jordan Lewis

リモートリポジトリは、あなたがあなたの個人的なEメールアドレスを明らかにするようなコミットを押すことを禁止するように設定されています。例えばGitHubでは、 私のEメール チェックボックスを有効にする ブロックコマンドラインプッシュをチェックしました ).

Block command line pushes that expose my email

もちろんその設定のチェックを外すことはできますが、あなたのリポジトリにアクセスできる人なら誰でも読者情報を読むことができるので、あなたのプライベートEメールアドレスを世界中の誰にでも公開するでしょう。

代わりに、これをしてください:

  1. あなたはあなたの個人的なEメールアドレスを見ることができます。それはGitであなたのコミットにデフォルトで使われます:

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

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

    Keep my email address private

  3. グローバルユーザーの電子メールアドレス設定をGitHubの無応答アドレスに変更します。

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

    git commit --amend --reset-author
    

    プライベートのEメールアドレスで複数のコミットがある場合は、この回答を参照してください。

  5. これであなたは返事のないEメールアドレスでコミットをプッシュすることができ、将来のコミットもまた返事のないEメールアドレスを持つことになります。

    git Push
    
266

チェックを外すコマンドラインプッシュをブロックして私のEメールを表示させ、次にコマンドラインからコードをプッシュしてみます。

0
Rajesh Panda