277 votes

Signification du message GitHub : le push a été refusé en raison des restrictions de confidentialité de l'email

J'ai accepté et fusionné une demande de tirage sur GitHub, et maintenant je ne peux plus tirer mes commits.

Le message est:

! [remote rejected] master -> master (push refusé en raison de restrictions de confidentialité par email)
error: failed to push some refs to 'git@github.com:FranckFreiburger/vue-resize-sensor.git'

git n'a pas quitté proprement (code de sortie 1) (3838 ms @ 12/04/2017 21:23:11)

Que devrais-je faire maintenant?

1 votes

J'ai trouvé la page de documentation: help.github.com/en/github/…

0 votes

0 votes

Je me demande si quelqu'un pourrait montrer comment localiser l'exposition de l'e-mail dans le commit.

583voto

Virtlink Points 12475

Le dépôt distant a été configuré pour vous empêcher de pousser un commit qui révélerait votre adresse e-mail personnelle. Par exemple sur GitHub, vous avez coché la case Bloquer les envois en ligne de commande qui exposent mon e-mail pour activer cela.

Bloquer les envois en ligne de commande qui exposent mon e-mail

Vous pouvez bien sûr décocher ce paramètre, mais cela exposera votre adresse e-mail privée à tout le monde, car les informations de l'auteur sont lisibles par quiconque a accès à votre dépôt.

À la place, faites ceci :

  1. Vous pouvez voir votre adresse e-mail personnelle, qui est utilisée par défaut pour vos commits en Git :

    git config --global user.email
  2. Trouvez votre adresse noreply GitHub dans vos Paramètres personnels Emails de GitHub. Elle est mentionnée dans la description de la case à cocher Garder mon adresse e-mail privée. Habituellement, elle commence par un identifiant unique, plus votre nom d'utilisateur :

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

    Garder mon adresse e-mail privée

  3. Modifiez le paramètre global de l'adresse e-mail de l'utilisateur pour qu'il soit votre adresse noreply GitHub :

    git config --global user.email {ID}+{username}@users.noreply.github.com
  4. Réinitialisez les informations de l'auteur sur votre dernier commit :

    git commit --amend --reset-author

    Si vous avez plusieurs commits avec votre adresse e-mail privée, consultez cette réponse.

  5. Maintenant vous pouvez pousser le commit avec l'adresse e-mail noreply, et les futurs commits auront également l'adresse e-mail noreply.

    git push

1 votes

Cela me signalerait encore que mon e-mail a été exposé. Ce que j'ai aussi dû faire est de définir votre e-mail sur none en utilisant git config --global user.email none.

7 votes

Non, ça a fonctionné parfaitement de mon côté, peut-être que vous avez oublié une étape, @adamczi. Cela devrait être la réponse acceptée, car elle indique les deux solutions possibles.

5 votes

Merci, je suppose que j'ai pu faire une erreur dans l'étape 2. Il convient de noter que vous devez suivre explicitement les instructions de @Virtlink là-bas, car le fait de définir un e-mail autre que @users.noreply.github.com (comme le fait que je définis à None) ne montrera pas vos commits dans le graphique sur votre page de profil.

150voto

Jordan Lewis Points 3456

Cela est probablement causé par un nouveau paramètre GitHub qui bloque les poussées en ligne de commande qui exposent votre adresse e-mail.

Essayez de décocher la case "Bloquer les poussées en ligne de commande qui exposent mon e-mail" dans vos paramètres e-mail puis poussez à nouveau.

22 votes

Est-ce que le fait de décocher cette option exposera mon adresse e-mail privée ?

16 votes

Oui, c'est ce qu'il fera mais vous avez déjà exposé votre adresse e-mail si vous avez poussé des commits vers votre dépôt. Même si Github ne montrera pas votre adresse e-mail, si je clone votre dépôt je peux les voir de la même manière, et c'est ce que cette nouvelle fonctionnalité de prévention de poussée va empêcher.

13 votes

Il s'agit d'une solution discutable. Au moins mentionnez que cela exposera votre adresse e-mail au monde entier.

6voto

Yuvraj Patil Points 887
  1. Ouvrez la section Emails de github.com. Visitez https://github.com/settings/emails.

  2. Allez à la section Garder mes adresses e-mail privées et notez votre adresse e-mail donotreply.

  3. Ouvrez le terminal git et définissez votre adresse e-mail donotreply comme votre adresse e-mail en utilisant la commande suivante :

    git config --global user.email ""

  4. Annulez vos commits locaux récents (avec votre e-mail privé) qui n'arrivent pas à être poussés dans le dépôt.

    git reset --soft HEAD~1

  5. Stagsez et poussez ces commits

    git add . git commit –m "" git push

0 votes

Merci cela fonctionne pour moi - après avoir effectué l'étape 4

2voto

Ndirangu Waweru Points 21

J'ai résolu les erreurs en :

git config --global user.email ""

Cela met simplement mon adresse e-mail à blanc (une chaîne vide). Maintenant, je définis mon adresse e-mail dans des projets individuels avec :

git config user.email "monemail@domaine.com"

1voto

Anjani Barnwal Points 146
  1. Allez simplement sur github.com et cliquez sur votre profil
  2. Allez dans les paramètres
  3. Cliquez maintenant sur 'Email' dans le panneau de navigation de gauche
  4. Et cherchez le champ 'Garder mes adresses e-mail privées'
  5. Veuillez décocher cette option
  6. Maintenant veuillez vérifier à nouveau et je pense que votre problème est maintenant résolu.

4 votes

Cela fonctionnera mais cela exposera votre adresse e-mail privée. Si vous êtes préoccupé par la confidentialité, consultez d'autres solutions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X