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?


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 .


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 username@users.noreply.github.comadresse, 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


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>


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.


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


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


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 .


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.