remove - git tag push
¿Expone Git públicamente mi dirección de correo electrónico? (8)
Las guías que he leído hasta ahora en Git dicen que debería entrar en la configuración y especificar mi nombre y mi dirección de correo electrónico. Ellos no elaboran; ellos solo dicen que lo hagan.
¿Por qué Git necesita mi dirección de correo electrónico? Y, más importante, si hago público mi repositorio, por ejemplo, a través de GitHub, ¿mi dirección de correo electrónico estará visible para todos (incluidos los spambots)?
Actualización de abril de 2017
Consulte " Correos electrónicos privados, ahora más privados "
GitHub ha apoyado el uso de una dirección de correo electrónico alternativa "noreply" para autorizar confirmaciones basadas en la web desde hace un tiempo. A partir de hoy, hay otra forma de asegurarse de que no publique inadvertidamente su dirección de correo electrónico cuando haga commits a GitHub a través de la línea de comandos.
Git usa su dirección de correo electrónico para asociar su nombre con cualquier autor que haya confirmado. Una vez que envía sus confirmaciones a un repositorio público en GitHub, también se publican los metadatos de autoría.
Si desea asegurarse de no publicar accidentalmente su dirección de correo electrónico, simplemente marque las opciones "Mantener mi dirección de correo privada" y "Bloquear la línea de comando que expone mi correo electrónico" en la configuración de correo electrónico .
Nota: ¡a partir del 9 de agosto de 2013, ahora puede mantener su dirección de correo electrónico privada !
Sin embargo, eso es para las operaciones GitHub basadas en web: las confirmaciones aún contienen una dirección de correo electrónico, que podría o no ser la misma que la utilizada para su cuenta de GitHub.
Vea a continuación para "enmascarar" ese correo electrónico (cometer git) también.
Hasta hoy, todos los GitHub Flow basados en la web usaban su dirección de correo electrónico principal. Esto incluye la creación, edición y eliminación de archivos, así como la fusión de solicitudes de extracción.
Pero ahora puede mantener su dirección de correo electrónico privada. Para hacerlo, visite la página de configuración de su correo electrónico:
Con esto activado, las operaciones basadas en web utilizarán una dirección de correo electrónico [email protected].
Si desea ocultar su correo electrónico desde su computadora, GitHub ahora le permite registrar diferentes direcciones de correo electrónico : consulte esta guía .
Aún necesita configurar su correo electrónico (falso) en su repositorio local antes de regresar a GitHub, si desea que sus compromisos reflejen
git config --global user.email "[email protected]" # Set email to slightly changed value
git config --global user.email # Verify the setting
# [email protected]
Entonces:
- Ir al menú de configuración de correos electrónicos
- Haga clic en "Agregar otra dirección de correo electrónico"
- Ingrese el correo electrónico falso (por ejemplo, "
[email protected]
") y haga clic en "Agregar"
Tenga en cuenta que:
Esta configuración solo afecta compromisos futuros .
Si desea borrar su dirección de correo electrónico real del historial de confirmaciones de su repositorio, deberá volver a escribir las confirmaciones anteriores. La forma más fácil de hacerlo es:Utilice
git filter-branch
para reescribir el historial del repositorio y forzar-empujar el nuevo historial hacia arriba.
Git usa su dirección de correo electrónico para identificarlo, así como para realizar otras tareas (como firmar una etiqueta con una clave GPG). Su dirección de correo electrónico se integra como parte de su identidad en los registros de confirmación, etc., junto con el nombre que especifique. Por ejemplo, el campo "autor" en un registro de commit se mostraría como:
Author: Joe White <[email protected]>
Entonces la información está disponible para cualquier persona que tenga una copia del repositorio, ya que actúa como un identificador.
Sin embargo, su correo electrónico probablemente no será visible para spambots, a menos que use Gitweb, o un servicio como GitHub, para que su repos esté disponible a través de una interfaz web (simplemente ponerlo en Internet no hace esto).
Supongo que podría completar una dirección de correo electrónico falsa o usar una cadena o espacio vacío o algo así (no creo que Git verifique el formato o la validez del correo electrónico), pero el correo electrónico es útil si alguien que clona el repositorio debe enviarlo usted un parche o en contacto con usted de alguna manera.
GitHub tiene un artículo de ayuda llamado Mantener su dirección de correo electrónico privada , que comienza:
Git requiere que te identifiques para realizar commits, pero puedes ocultar tu información de contacto usando una dirección falsa. A Git no le importa si el correo electrónico es válido.
Es bueno saberlo: aunque a Git no le importa, algunos proyectos pueden no aceptar contribuciones de usted si sus confirmaciones no tienen una dirección de correo electrónico válida, por lo que querrá investigar las políticas de contribución de su proyecto antes de seguir estas instrucciones.
GitHub no recibe muchos informes de envío de spam a las direcciones de correo electrónico de commit de Git, pero si está preocupado, esta guía debería ayudarlo a resolver esas inquietudes.
La guía contiene pasos sobre cómo configurar tanto Git como GitHub para usar una dirección falsa.
GitHub tiene una sección de ayuda sobre cómo configurar su dirección de correo electrónico.
Específicamente dice:
Es bueno saberlo: no tiene que dar un correo electrónico válido. Si le preocupa el correo no deseado, utilice un correo electrónico falso en su lugar. [email protected] es una práctica común.
Puede cambiar de forma retroactiva el nombre del autor, el correo electrónico, etc. TENGA CUIDADO que hacer lo siguiente puede dañar su historial.
#!/bin/sh
git filter-branch --env-filter ''
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if [ "$GIT_COMMITTER_EMAIL" = "[email protected]" ]
then
cn="Your New Committer Name"
cm="Your New Committer Email"
fi
if [ "$GIT_AUTHOR_EMAIL" = "[email protected]" ]
then
an="Your New Author Name"
am="Your New Author Email"
fi
export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
''
Tomado de here
Sí, las respuestas anteriores son correctas ... excepto que normalmente quiere tener la misma dirección de correo electrónico para todos sus proyectos y luego usaría el comando:
git config --global user.email "[email protected]"
También puede editar el archivo .gitconfig en su directorio de inicio, en la sección de usuario.
Puede especificar un correo electrónico diferente para un proyecto en particular haciendo el mismo comando sin la opción global.
Además, sugiero que puede ocultar su correo electrónico si los envíos van a un área pública:
briancolfer(at)comcast.net
Como ejemplo.
Sí, su dirección de correo electrónico (como se especifica en git config user.email
) será visible en las interfaces web como GitWeb. También todo el mundo puede conocer su dirección de correo electrónico al clonar su repositorio, aunque esto probablemente todavía esté más allá de los spambots. Sin embargo, nadie te obliga a utilizar una dirección de correo electrónico real. Git configurará automáticamente una dirección de correo electrónico construida si no se proporciona ninguna. En mi máquina sin user.email
muestra confirmaciones por "Foo <foo @ daughter. (None)>".
Millones de correos electrónicos de commit de GitHub : https://github.com/cirosantilli/all-github-commit-emails extraídos de GitHub Archives https://www.githubarchive.org exports commit.
GitHub Archive obtiene datos de la API de eventos de GitHub: https://developer.github.com/v3/activity/events/types/#pushevent y los exporta a Google BigQuery por hora, lo que facilita la consulta.
Los correos electrónicos se muestran en eventos del tipo PushEvent
.
No creo que los correos electrónicos de commit se muestren en ninguna parte de la interfaz web de GitHub, por lo que cualquier colección está limitada por la limitación de la tasa API. TODO: cuánto tiempo para recolectar correos electrónicos de 1M a través de API desde cero.
Forma práctica de obtener el correo electrónico de confirmación de alguien con la API
ghmail() { curl "https://api.github.com/users/$1/events/public" | grep email; }
ghmail cirosantilli
o visite: https://api.github.com/users/cirosantilli/events/public
También hay:
- aplicaciones para eso: https://github.com/mmautner/github-email-thief
- scripts más avanzados para eso: https://github.com/hodgesmr/FindGitHubEmail