Significado del mensaje de GitHub: push rechazado debido a restricciones de privacidad del correo electrónico

204

He aceptado y fusionado una solicitud de extracción en github, y ahora ya no puedo retirar mis confirmaciones.

El mensaje es:

! [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)

Qué debería hacer ahora ?

Franck Freiburger
fuente
1
Encontré la página de documentación: help.github.com/en/github/…
Sebastian Norr
La respuesta canónica (autocontenida) es la de Winfried a Tu impulso publicaría un error de dirección de correo electrónico privado
Peter Mortensen

Respuestas:

401

El repositorio remoto se ha configurado para no permitirle presionar una confirmación que revelaría su dirección de correo electrónico personal. Por ejemplo, en GitHub, ha marcado las líneas de comando Bloquear que exponen mi casilla de verificación de correo electrónico para habilitar esto .

Bloquea las líneas de comando que exponen mi correo electrónico

Si bien, por supuesto, puede desmarcar esa configuración, expondrá su dirección de correo electrónico privada a todos en el mundo, ya que cualquier persona con acceso a su repositorio puede leer la información del autor.

En cambio, haz esto:

  1. Puede ver su dirección de correo electrónico personal, que se usa de forma predeterminada para sus confirmaciones en Git:

    git config --global user.email
  2. Encuentre su dirección de no respuesta de GitHub en la Configuración personal de su GitHub Correo electrónico . Se menciona en la descripción de la casilla de verificación Mantener mi dirección de correo electrónico privada . Por lo general, comienza con un identificador único, más su nombre de usuario:

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

    Mantener mi dirección de correo electrónico privada

  3. Cambie la configuración global de la dirección de correo electrónico del usuario para que sea su dirección de no respuesta de GitHub:

    git config --global user.email {ID}+{username}@users.noreply.github.com
  4. Restablezca la información del autor en su última confirmación:

    git commit --amend --reset-author

    Si tiene varias confirmaciones con su dirección de correo electrónico privada, consulte esta respuesta .

  5. Ahora puede enviar la confirmación con la dirección de correo electrónico de no respuesta, y las futuras confirmaciones también tendrán la dirección de correo electrónico de no respuesta.

    git push
Daniel AA Pelsmaeker
fuente
44
No, funcionó como un encanto de mi lado, tal vez olvidaste un paso, @adamczi. Esta debería ser la respuesta aceptada, ya que establece las dos posibles soluciones.
Ioanna
44
Gracias, supongo que podría haber cometido un error en el paso 2. Vale la pena notar que debes seguir explícitamente las instrucciones de @ Virtlink allí, porque configurar un correo electrónico a otro que <your_uname>@users.noreply.github.com(como yo mismo configuro a None) dará como resultado que no muestres tus confirmaciones en el gráfico en tu página de perfil.
adamczi
3
Tuve un problema misterioso similar. Mi error fue hacerlo git commit --amend --author "first last [email protected]"y no parecía gustarle eso. Usted realmente necesita para restablecer el user.emailparámetro de configuración exactamente como anteriormente. ¡Salud!
msanford
66
El paso 4 que Virtlink proporciona arriba fue crítico para superar este error. Había configurado user.email en la configuración para usar mi dirección de correo electrónico sin respuesta, pero el comando Push aún devolvió el error frustrante sobre la publicación de un correo electrónico privado. Una vez que modifiqué el commit que estaba tratando de presionar, lo permitió.
Teaman
3
Es posible que solo desee cambiar la dirección de correo electrónico para un único repositorio. Esta respuesta fue útil, pero también tuve que referirme al artículo de ayuda de github: Configuración de su dirección de correo electrónico para un único repositorio
gfullam
146

Esto probablemente se deba a una nueva configuración de GitHub que bloquea los impulsos de línea de comando que exponen su dirección de correo electrónico.

Intente desmarcar el cuadro "Bloquear empujes de línea de comando que exponen mi correo electrónico" en la configuración de correo electrónico y luego presione nuevamente.

Jordan Lewis
fuente
20
¿Desmarcar esta opción expondrá mi dirección de correo electrónico privada?
Franck Freiburger
14
Sí, eso es lo que hará, pero ya ha expuesto su dirección de correo electrónico si ha enviado confirmaciones a su repositorio. A pesar de que Github no mostrará su dirección de correo electrónico, si clono su repositorio, puedo verlos de la misma manera, y eso es lo que evitará esta nueva cosa de evitar empujar.
Lasse V. Karlsen
10
Esta es una solución cuestionable. Al menos mencione que esto expondrá su dirección de correo electrónico a todo el mundo.
kovac
Daniel AA Pelsmaeker y Winfried son las mejores respuestas.
Peter Mortensen
1

Resolví los errores por:

git config --global user.email ""

Esto simplemente configuró mi correo electrónico en blanco (una cadena vacía). Ahora configuro mi correo electrónico en proyectos individuales con:

git config user.email "[email protected]"

Ndirangu Waweru
fuente
0
  1. simplemente vaya a github.com y haga clic en su perfil
  2. ir a la configuración
  3. ahora haga clic en 'Correo electrónico' en el panel de navegación izquierdo
  4. y busque el campo "Mantener privadas mis direcciones de correo electrónico"
  5. desmarca esta opción
  6. ahora por favor verifique nuevamente y creo que su problema está resuelto ahora.
Anjani Barnwal
fuente
2
esto funcionará pero expondrá su dirección de correo electrónico privada. Si le preocupa la privacidad, vea otras soluciones.
kaznovac
-1

Desmarque Bloquear los empujes de la línea de comando que exponen mi correo electrónico y luego intente empujar el código desde la línea de comando.

Rajesh Panda
fuente
lo mismo aplicable saber?
LOG_TAG
esto funcionará pero expondrá su dirección de correo electrónico privada. Si le preocupa la privacidad, vea otras soluciones.
kaznovac
¿Cómo es eso diferente de la respuesta de Jordan Lewis ?
Peter Mortensen