Come lasciare un messaggio per un utente github.com


376

Hai bisogno di aiuto sull'utilizzo di GitHub. Mi chiedo se esiste un modo per comunicare con un utente github.com, ad esempio scrivere all'utente un messaggio quando sulla propria pagina GitHub viene fornito solo un nome utente / ID? GitHub ha questa funzionalità social?


6
Rispondere alla domanda (poiché ora è chiusa): è possibile aprire un problema e sperare che il proprietario del repository ti risponda.
heltonbiker

1
Vedi Un modo per contattare un utente su Github? , che è in argomento su WebApps.SE.
Chharvey,

A me sembra più una domanda per SuperUser .
Dirk Horsten,

5
Per la privacy : per evitare che un'e-mail personale venga visualizzata per una delle risposte qui , gli utenti di Github possono andare su Impostazioni-> E-mail e selezionare la casella Mantieni il mio indirizzo e-mail privato . Quindi, devono usare git config user.emailo git config --global user.emailimpostare la loro e-mail git locale sull'indirizzo e-mail privato Github (<nomeutente> @ utenti.noreply.github.com) Tutti i loro impegni - da quel momento in poi - includeranno solo l'e-mail privata "non comune". Si noti che qualsiasi commit precedente / repository locale con il set di posta elettronica personale lo mostrerà comunque.
leanne,

Risposte:


361

Sebbene GitHub abbia rimosso la funzione di messaggistica privata, c'è ancora un'alternativa.

GitHub ospita repository git. Se l'utente con cui sei disposto a comunicare ha mai commesso un codice, ci sono buone possibilità che tu possa raggiungere il tuo obiettivo. Infatti, all'interno di ciascun commit sono memorizzate alcune informazioni sull'autore della modifica o su chi l'ha accettata.

A condizione che tu stia davvero morendo dalla voglia di scambiare con l'utente user_test

  • Visualizza la pagina delle attività pubbliche dell'utente: https://github.com/user_test?tab=activity
  • Cerca un evento che indica "user_test pushed in [branch] at [repository]" . Di solito ci sono buone possibilità, potrebbero aver spinto uno dei suoi impegni. Accertarsi che ciò avvenga facendo clic sul collegamento "Visualizza confronto ..." e assicurarsi che l'utente sia elencato come uno dei committer.
  • Clonare sul computer locale il repository che hanno inviato a: git clone https://github.com/..../repository.git
  • Dai un'occhiata al ramo che hanno spinto a: git checkout [branch]
  • Visualizza gli ultimi commit: git log -50

Come committer / autore, dovrebbe essere visualizzata un'e-mail insieme ai dati di commit.

Nota: ogni avviso relativo alle e-mail indesiderate deve essere applicato qui. Do Non spam.


11
Che cosa l'utente non ha attività? Voglio dire, hai semplicemente creato un account e non hai più effettuato l'accesso?
Hossein,

6
Wow! perché non usare semplicemente l'indirizzo e-mail nella pagina del profilo dell'utente github ?!
mavili,

24
@mavili Perché potrebbe non essere riempito. Vedi la domanda -> "quando viene fornito solo il nome utente / ID sulla pagina di github?"
nulltoken,

5
@nulltoken Ho letto la tua risposta con occhi pieni di lacrime. Non riesco a credere che questo sogno diventi realtà. grazie fratello grazie ......
Esterlink del

3
È probabile che otterrai un username@users.noreply.github.comindirizzo, nel caso in cui qualcuno desideri davvero mantenere privato il suo indirizzo email.
Tigrou,

237

Questo metodo funzionava da marzo 2020

  1. Copia e incolla la riga successiva nel tuo browser (sentiti libero di aggiungerla ai segnalibri): https://api.github.com/users/xxxxxxx/events/public
  2. Trova il nome utente GitHub per il quale desideri l'e-mail. Sostituisci xxxxxxx nell'URL con il nome utente GitHub della persona. Premi Invio.
  3. Premi Ctrl + F e cerca "email".

Come suggerito da qbolec , i passaggi precedenti possono essere eseguiti utilizzando questo frammento:

<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>

Fonte: Matthew Ferree @ Sourcecon


7
Nel mio caso non contiene un messaggio di posta elettronica
TheKitMurkit

7
Questo metodo richiede che l'utente abbia qualche attività pubblica
ovinofilo

5
Whoa, questa risposta è solo un tesoro per gli spammer ... "Come trovare l'indirizzo e-mail dell'utente di Github"
Alex,

7
L'indirizzo e-mail in questa API proviene dalla configurazione git locale dell'utente, non da ciò che ha impostato in Github. Github ha recentemente aggiunto un'opzione, sotto Impostazioni / Email, per bloccare i commit che includono accidentalmente un indirizzo email che l'utente ha contrassegnato come "privato". E, sì, il contenuto rivelato dall'API è applicabile solo ai repository pubblici; i dati sui repository privati ​​non verranno visualizzati.
leanne,

2
@pbhj qualcuno dovrebbe dirlo a Github, probabilmente. questa è una perdita di privacy.
Gewure,

52

Per i più pigri, come me, uno snippet basato sulla soluzione di 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
Questo darà risultati falsi se l'utente che hai cercato ha unito un PR di un altro utente. In questo caso, commitssarà un array con l'autore del PR e la fusione (utente che ha unito il PR).
styfle

50

È sufficiente ottenere un repository fittizio, aprire un nuovo numero e utilizzare @xxxxx per avvisare l'utente interessato.

Se l'utente ha la notifica via e-mail abilitata riceverà una e-mail, in caso contrario noterà al prossimo accesso.

Non è necessario cercare l'indirizzo e-mail negli commit o nel flusso di attività e la privacy è rispettata.


dovrebbe essere una risposta più votata. Semplice e preciso e, come hai detto, rispetta la privacy. ty.
JoelAZ,

1
E se l'account non ha alcuna attività su di esso, praticamente l'unico modo per farlo posso trovare.
Dave Strickler,

33

Github ha dichiarato il 3 aprile 2012:

Oggi stiamo rimuovendo due funzionalità. Stanno raccogliendo polvere da un po 'ed è ora di buttarli fuori: Fork Queue & Private Messaging

fonte


2
Questa risposta è obsoleta. Cerca di seguito le risposte aggiornate.
Nikhil

22

Ecco un altro modo:

  • Sfoglia la cronologia di commit di qualcuno (fai clic su commitsaccanto alla filiale per visualizzare l'intera cronologia di commit)

  • Fai clic sul commit che con il nome utente della persona perché potrebbero essercene così tante

  • Quindi dovresti vedere che l'indirizzo web ha un hash concatenato all'URL. Aggiungi .patcha questo URL di commit

  • Sarà probabilmente vedere l'indirizzo email della persona lì

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

Fonte: Chris Herron @ Sourcecon


6
Per evitare che un'e-mail personale venga mostrata in questo modo, gli utenti di Github possono andare su Impostazioni-> E-mail e selezionare la casella Mantieni il mio indirizzo e-mail privato . Quindi, devono usare git config user.emailo git config --global user.emailimpostare la loro e-mail git locale sull'indirizzo e-mail privato Github (<nomeutente> @ utenti.noreply.github.com) Tutti i loro impegni - da quel momento in poi - includeranno solo l'e-mail privata "non comune". Si noti che qualsiasi commit precedente o repository locale con il set di posta elettronica personale conterrà comunque l'indirizzo di posta elettronica reale.
leanne,

3
Funziona ancora, grazie. Spero che gli spammer non abusino di questa funzionalità.
Dennis Gorelik,

5

Oltre alla rimozione del servizio di messaggistica github , l'uso spesso non era necessario a causa di molti githubber che comunicavano con e sostenevano Twitter .

Il vantaggio è che esiste:

  • piena trasparenza
  • migliore copertura
  • migliori funzionalità di ricerca per i tweet
  • migliore archiviazione, ad esempio dalla Biblioteca del Congresso degli Stati Uniti

Probabilmente non è una coincidenza che StackOverflow non consenta nemmeno la messaggistica privata, per garantire la massima trasparenza. L'intero problema di messaggistica è discusso approfonditamente su meta-stackoverflow qui .


8
Ok, che ne dici di un modo per pubblicarli pubblicamente? Ad esempio, voglio fare una domanda su come fare una determinata cosa e la documentazione fornita è atroce. Sarebbe utile per loro rispondere non solo a me, ma a chiunque cerchi di usare il proprio codice.
Michael,

10
Se vuoi fare una domanda / segnalare qualcosa sul suo progetto - apri semplicemente un "problema" in github e discuti
Alex

8
Questo è un triste stato di cose però. Per me, Twitter è tutt'altro che una buona piattaforma.
Xupicor,

9
twitter è un male per la comunicazione reale perché 140 caratteri limite.
My1

6
Questo non aiuta davvero se non c'è Twitter elencato nella loro pagina del profilo.
Igor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.