Git publie-t-il publiquement mon adresse e-mail?

Les guides que j’ai lus jusqu’ici sur Git disent que je devrais aller dans la configuration et spécifier mon nom et mon adresse e-mail. Ils ne élaborent pas; ils disent juste de le faire.

Pourquoi Git a-t-il besoin de mon adresse e-mail? Et, plus important encore, si je mets mon repository à la disposition du public, par exemple via GitHub, mon adresse e-mail sera-t-elle visible par tous (y compris les robots des spammeurs)?

    Git utilise votre adresse e-mail pour vous identifier, ainsi que d’autres tâches (telles que la signature d’une balise avec une clé GPG). Votre adresse e-mail est intégrée à votre identité dans les journaux de validation, etc., avec le nom que vous spécifiez. Par exemple, le champ “author” dans un journal de validation apparaîtra comme suit:

    Author: Joe White  

    Ainsi, l’information est à la disposition de toute personne possédant une copie du repository, car elle agit comme un identifiant.

    Votre email ne sera probablement pas visible pour les robots, à moins que vous n’utilisiez Gitweb, ou un service comme GitHub, pour rendre votre repository disponible via une interface Web (le simple fait de le mettre sur Internet ne le permet pas).

    Je suppose que vous pouvez remplir une fausse adresse e-mail ou utiliser une chaîne ou un espace vide (je ne pense pas que Git vérifie le format ou la validité de l’e-mail), mais que quelqu’un clone le repository doit envoyer vous un patch ou vous contacter en quelque sorte.

    Mise à jour avril 2017

    Voir ” E-mails privés, maintenant plus privés ”

    GitHub a pris en charge l’utilisation d’une autre adresse e-mail “noreply” pour créer des commits Web depuis un certain temps. À compter d’aujourd’hui, il existe un autre moyen de ne pas publier par inadvertance votre adresse e-mail lors de l’envoi de validations à GitHub via la ligne de commande.

    Git utilise votre adresse e-mail pour associer votre nom à tous les commits que vous avez créés. Une fois que vous avez transféré vos commits vers un référentiel public sur GitHub, les métadonnées de l’auteur sont également publiées.

    Si vous souhaitez vous assurer de ne pas publier accidentellement votre adresse e-mail, cochez simplement les options “Conserver mon adresse e-mail privée” et “Bloquer les poussées de ligne de commande qui exposent mes e-mails” dans vos parameters de messagerie .

    https://cloud.githubusercontent.com/assets/33750/24673856/a995cb74-1947-11e7-8653-65bc604a4101.png


    Remarque: à partir du 9 août 2013, vous pouvez maintenant garder votre adresse e-mail privée !

    C’est pour les opérations Web GitHub cependant: les commits contiennent toujours une adresse e-mail, qui pourrait ou non être la même que celle utilisée pour votre compte GitHub.
    Voir ci-dessous pour “masquer” cet email (git commit) aussi.

    Jusqu’à aujourd’hui, tous les GitHub Flow basés sur le Web utilisaient votre adresse e-mail principale. Cela inclut la création, la modification et la suppression de fichiers, ainsi que la fusion des requêtes d’extraction.

    Mais maintenant, vous pouvez garder votre adresse e-mail privée. Pour ce faire, visitez votre page de parameters de messagerie:

    Paramètres de messagerie

    Lorsque cette option est activée, les opérations Web utiliseront une adresse électronique username@users.noreply.github.com.


    Si vous souhaitez masquer votre courrier électronique à partir de votre ordinateur, GitHub vous permet désormais d’ enregistrer différentes adresses électroniques : voir ce guide .

    Vous devez toujours configurer votre (faux) email dans votre repo local avant de le renvoyer à GitHub, si vous voulez que vos commits reflètent

     git config --global user.email "user@server.fake" # Set email to slightly changed value git config --global user.email # Verify the setting # user@server.fake 

    Alors:

    • Aller au menu de paramétrage des e-mails
    • Cliquez sur “Ajouter une autre adresse e-mail”
    • Entrez le faux email (par exemple ” user@server.fake “) et cliquez sur “Ajouter”

    ajouter une nouvelle adresse email

    Notez que:

    Ce paramètre n’affecte que les futurs commits .
    Si vous souhaitez effacer votre adresse e-mail réelle de l’historique de validation de votre référentiel, vous devrez réécrire vos anciens commits. Le moyen le plus simple est de:

    Utilisez git filter-branch pour réécrire l’historique du référentiel et forcer la nouvelle histoire.

    GitHub a un article d’aide appelé Garder votre adresse e-mail privée , qui commence:

    Git exige que vous vous identifiiez pour faire des commits, mais vous pouvez cacher vos informations de contact en utilisant une fausse adresse. Git lui-même ne se soucie pas si l’e-mail est valide.

    Bon à savoir: bien que Git ne s’en soucie pas, certains projets n’accepteront pas de consortingbutions de votre part si vos commits ne disposent pas d’une adresse électronique valide. Vous devrez donc rechercher les politiques de consortingbution de votre projet avant de suivre ces instructions.

    GitHub ne reçoit pas beaucoup de rapports de spam envoyés aux adresses de messagerie Git, mais si vous êtes inquiet, ce guide devrait vous aider à résoudre ces problèmes.

    Le guide contient les étapes à suivre pour configurer Git et GitHub afin d’utiliser une fausse adresse.

    Oui, les réponses ci-dessus sont correctes … sauf que vous voulez généralement avoir la même adresse email pour tous vos projets, alors vous utiliseriez la commande:

     git config --global user.email "me@email.com" 

    Vous pouvez également modifier le fichier .gitconfig dans votre répertoire personnel, dans la section utilisateur.

    Vous pouvez spécifier un email différent pour un projet particulier en effectuant la même commande sans l’option globale.

    En outre, je suggère que vous pouvez masquer votre email si les soumissions vont dans une zone publique:

     briancolfer(at)comcast.net 

    Par exemple.

    Oui, votre adresse e-mail (comme spécifié dans git config user.email ) sera visible dans les interfaces Web telles que GitWeb. De plus, tout le monde peut apprendre votre adresse e-mail en clonant votre référentiel, bien que cela soit probablement encore loin des spambots. Personne ne vous oblige à utiliser une adresse e-mail réelle. Git définira automatiquement une adresse e-mail si aucune n’est fournie. Sur ma machine sans user.email il affiche user.email par «Foo ».

    Vous pouvez modifier rétroactivement le nom de l’auteur, l’e-mail, etc. ATTENTION: ceci peut corrompre votre historique.

     #!/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" = "your@email.to.match" ] then cn="Your New Committer Name" cm="Your New Committer Email" fi if [ "$GIT_AUTHOR_EMAIL" = "your@email.to.match" ] 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" ' 

    Prise d’ ici

    GitHub a une section d’aide sur la configuration de votre adresse e-mail.

    Spécifiquement, il dit:

    Bon à savoir: vous n’avez pas à envoyer de courrier électronique valide. Si vous êtes préoccupé par le spam, utilisez plutôt un faux e-mail. user@example.com est une pratique courante.

    Des millions d’emails de validation GitHub : https://github.com/cirosantilli/all-github-commit-emails extraits des archives GitHub https://www.githubarchive.org exports commit.

    GitHub Archive obtient des données de l’API d’événements de GitHub: https://developer.github.com/v3/activity/events/types/#pushevent et les exporte toutes les heures vers Google BigQuery, ce qui facilite les requêtes.

    Les e-mails sont affichés sur les événements de type PushEvent .

    Je ne pense pas que les e-mails de validation s’affichent n’importe où sur l’interface Web de GitHub, de sorte que toute collecte est limitée par la limitation du taux d’API. TODO: combien de temps pour collecter des e-mails 1M via API à partir de zéro.

    Méthode pratique pour obtenir le courrier électronique de validation de quelqu’un avec l’API

     ghmail() { curl "https://api.github.com/users/$1/events/public" | grep email; } ghmail cirosantilli 

    ou visitez: https://api.github.com/users/cirosantilli/events/public

    Il y a aussi: