Comment laisser un message à un utilisateur de github.com

376

Besoin d'aide sur l'utilisation de GitHub. Je me demande s'il existe un moyen de communiquer avec un utilisateur de github.com, c'est-à-dire d'écrire un message à l'utilisateur lorsque seul le nom d'utilisateur / id est donné sur sa page GitHub? Est-ce que GitHub a cette fonctionnalité sociale?

Yurij73
la source
6
Répondre à la question (car il est maintenant fermé): vous pouvez ouvrir un problème et espérer que le propriétaire du référentiel vous répondra.
heltonbiker
1
Voir Comment contacter un utilisateur sur Github? , qui est sur le sujet à WebApps.SE.
chharvey
Cela ressemble plus à une question pour SuperUser pour moi.
Dirk Horsten
5
Pour la confidentialité : pour éviter qu'un e-mail personnel ne s'affiche selon l' une des réponses ici , les utilisateurs de Github peuvent aller dans Paramètres-> Emails et cocher la case Garder mon adresse e-mail privée . Ensuite, ils doivent utiliser git config user.emailou git config --global user.emailpour définir leur e-mail git local sur l'adresse e-mail privée Github (<username> @ users.noreply.github.com) Tous leurs commits - à partir de là - incluront uniquement l'e-mail privé "noreply". Notez que tout commit / dépôt local antérieur avec l'ensemble de messagerie personnel l'affichera toujours.
leanne

Réponses:

361

Bien que GitHub ait supprimé la fonctionnalité de messagerie privée, il existe toujours une alternative.

Référentiels git de l'hôte GitHub. Si l'utilisateur avec qui vous souhaitez communiquer a déjà commis du code, il y a de fortes chances que vous atteigniez votre objectif. En effet, au sein de chaque commit, sont stockées des informations sur l'auteur du changement ou celui qui l'a accepté.

Pourvu que vous mouriez d' envie d'échanger avec l'utilisateur user_test

  • Affichez la page d'activité publique de l'utilisateur: https://github.com/user_test?tab=activity
  • Recherchez un événement indiquant "user_test poussé vers [branche] dans [référentiel]" . Il y a généralement de bonnes chances, ils peuvent avoir poussé l'un de ses propres commits. Assurez-vous que c'est le cas en cliquant sur le lien "Voir la comparaison ..." et assurez-vous que l'utilisateur est répertorié comme l'un des committers.
  • Clonez sur votre machine locale le référentiel vers lequel ils ont poussé: git clone https://github.com/..../repository.git
  • Consultez la succursale vers laquelle ils ont poussé: git checkout [branch]
  • Afficher les derniers commits: git log -50

En tant que contributeur / auteur, un e-mail doit être affiché avec les données de validation.

Remarque: Tous les avertissements liés aux e-mails non sollicités doivent s'y appliquer. Ne spammez pas .

nulltoken
la source
11
Qu'est-ce que l'utilisateur n'a pas d'activité? Je veux dire, simplement créé un compte et ne vous êtes plus jamais connecté?
Hossein
6
Hou la la! pourquoi ne pas simplement utiliser l'adresse e-mail sur la page de profil de l'utilisateur github?!
mavili
24
@mavili Parce qu'il peut ne pas être rempli. Voir la question -> "quand seul le nom d'utilisateur / id est donné sur la page github?"
nulltoken
5
@nulltoken J'ai lu votre réponse avec des yeux larmoyants. Je ne peux pas croire que ce rêve devienne réalité. tanks frère merci ......
Esterlink du
3
Il y a de fortes chances que vous obteniez une [email protected]adresse, au cas où quelqu'un voudrait vraiment garder son adresse e-mail privée.
tigrou
237

Cette méthode fonctionnait en mars 2020

  1. Copiez et collez la ligne suivante dans votre navigateur (n'hésitez pas à la mettre en signet): https://api.github.com/users/xxxxxxx/events/public
  2. Recherchez le nom d'utilisateur GitHub pour lequel vous souhaitez recevoir l'e-mail. Remplacez xxxxxxx dans l'URL par le nom d'utilisateur GitHub de la personne. Appuyez sur Entrée.
  3. Appuyez sur Ctrl + F et recherchez «e-mail».

Comme suggéré par qbolec , les étapes ci-dessus peuvent être effectuées à l'aide de cet extrait:

<input id=username type="text" placeholder="github username or repo link">
<button onclick="fetch(`https://api.github.com/users/${username.value.replace(/^.*com[/]([^/]*).*$/,'$1')}/events/public`).then(e=> e.json()).then(e => [...new Set([].concat.apply([],e.filter(x => x.type==='PushEvent').map(x => x.payload.commits.map(c => c.author.email)))).values()]).then(x => results.innerText = x)">GO</button>
<div id=results></div>

Source: Matthew Ferree @ Sourcecon

Nikhil
la source
7
Dans mon cas, il ne contient pas d'e
TheKitMurkit
7
Cette méthode nécessite que l'utilisateur ait une activité publique
ovinophile
5
Whoa, cette réponse est juste un trésor pour les spammeurs ... "Comment trouver l'adresse e-mail d'un utilisateur de github"
Alex
7
L'adresse e-mail de cette API provient de la configuration locale de Git de l'utilisateur, et non de celle qu'ils ont définie dans Github. Github a récemment ajouté une option, sous Paramètres / Emails, pour bloquer les validations qui incluent accidentellement une adresse e-mail que l'utilisateur a marquée comme «privée». Et, oui, le contenu révélé par l'API n'est applicable qu'aux dépôts publics; les données de repo privées ne s'afficheront pas.
leanne
2
@pbhj quelqu'un dira probablement à github. c'est une fuite de confidentialité.
Gewure
52

Pour les paresseux, comme moi, un extrait basé sur la solution de Nikhil

<input id=username type="text" placeholder="github username or repo link">
<button onclick="fetch(`https://api.github.com/users/${username.value.replace(/^.*com[/]([^/]*).*$/,'$1')}/events/public`).then(e=> e.json()).then(e => [...new Set([].concat.apply([],e.filter(x => x.type==='PushEvent').map(x => x.payload.commits.map(c => c.author.email)))).values()]).then(x => results.innerText = x)">GO</button>
<div id=results></div>

qbolec
la source
1
Cela donnera de faux résultats si l'utilisateur que vous avez recherché avait fusionné un PR d'un autre utilisateur. Dans ce cas, commitssera un tableau avec à la fois l'auteur du PR et la fusion (utilisateur qui a fusionné le PR).
styfle
50

Créez simplement un dépôt factice, ouvrez un nouveau problème et utilisez @xxxxx pour informer l'utilisateur concerné.

Si l'utilisateur a une notification par e-mail activée, il recevra un e-mail, sinon il le remarquera lors de sa prochaine connexion.

Pas besoin de rechercher l'adresse e-mail dans les commits ou le flux d'activité et la confidentialité est respectée.

Kay Marquardt
la source
devrait être une réponse votée plus élevée. Simple et pertinent et, comme vous l'avez dit, respecte la vie privée. ty.
JoelAZ
1
Et si le compte n'a aucune activité dessus, je peux trouver la seule façon de le faire.
Dave Strickler
33

Github a déclaré le 3 avril 2012:

Aujourd'hui, nous supprimons deux fonctionnalités. Ils ramassent de la poussière depuis un moment et il est temps de les jeter: Fork Queue & Private Messaging

La source

MyBoon
la source
2
Cette réponse est obsolète. Regardez ci-dessous pour les réponses mises à jour.
Nikhil
22

Voici une autre façon:

  • Parcourir l'historique des validations de quelqu'un (cliquez sur à commitscôté de la branche pour voir l'historique complet des validations)

  • Cliquez sur le commit avec le nom d'utilisateur de la personne car il pourrait y en avoir tellement

  • Ensuite, vous devriez voir que l'adresse Web a un hachage concaténé à l'URL. Ajouter .patchà cette URL de validation

  • Vous y verrez probablement l'adresse e-mail de la personne

Exemple: https://github.com/[username]/[reponame]/commit/[hash].patch

Source: Chris Herron @ Sourcecon

ian0411
la source
6
Pour éviter qu'un e-mail personnel ne s'affiche de cette manière, les utilisateurs de Github peuvent aller dans Paramètres-> Emails et cocher la case Garder mon adresse e-mail privée . Ensuite, ils doivent utiliser git config user.emailou git config --global user.emailpour définir leur e-mail git local sur l'adresse e-mail privée Github (<username> @ users.noreply.github.com) Tous leurs commits - à partir de là - incluront uniquement l'e-mail privé "noreply".Notez que tous les validations antérieures ou les validations de référentiels locaux avec l'ensemble de messagerie personnel contiendront toujours la véritable adresse e-mail.
leanne
3
Cela fonctionne toujours, merci. J'espère que les spammeurs n'abuseront pas de cette fonctionnalité.
Dennis Gorelik
5

Outre la suppression du service de messagerie github , l'utilisation n'était souvent pas nécessaire car de nombreux githubbers communiquaient avec Twitter et préconisaient Twitter .

L' avantage est qu'il y a:

  • transparence totale
  • meilleure couverture
  • de meilleures fonctionnalités de recherche pour les tweets
  • un meilleur archivage, par exemple par la US Library of Congress

Ce n'est probablement pas un hasard si stackoverflow n'autorise pas non plus la messagerie privée, pour garantir une transparence totale. L'ensemble du problème de messagerie est discuté en détail sur meta-stackoverflow ici .

Lorenz Lo Sauer
la source
8
Ok, qu'en est-il d'une façon de leur envoyer un message public? Par exemple, je veux poser une question sur la façon de faire une certaine chose, et la documentation fournie est atroce. Il serait utile qu'ils répondent non seulement à moi, mais à quiconque essaie d'utiliser leur code.
Michael
10
Si vous souhaitez poser une question / signaler quelque chose sur son projet - ouvrez simplement un "problème" dans github et discutez
Alex
8
C'est une triste situation cependant. Pour moi, Twitter est tout sauf une bonne plateforme.
Xupicor
9
Twitter est mauvais pour la vraie communication car 140 caractères maximum.
My1
6
Cela n'aide pas vraiment si aucun twitter n'est répertorié sur leur page de profil.
Igor