Como deixar uma mensagem para um usuário do github.com

376

Precisa de ajuda sobre o uso do GitHub. Gostaria de saber se existe uma maneira de se comunicar com um usuário do github.com, ou seja, escreva uma mensagem ao usuário quando apenas o nome de usuário / ID for fornecido na página do GitHub? O GitHub tem esse recurso social?

Yurij73
fonte
6
Respondendo à pergunta (já que agora está fechada): você pode abrir um problema e esperar que o proprietário do repo responda.
30516 heltonbiker
11
Consulte Alguma maneira de entrar em contato com um usuário no Github? , que está no tópico em WebApps.SE.
28416 chharvey
Parece mais uma pergunta para SuperUser para mim.
Dirk Horsten
5
Para ter consciência da privacidade : para evitar que um email pessoal seja exibido de acordo com qualquer uma das respostas aqui , os usuários do Github podem acessar Configurações-> Emails e marque a caixa de seleção Manter meu endereço de email privado . Em seguida, eles devem usar git config user.emailou git config --global user.emaildefinir o email git local para o endereço de email privado do Github (<username> @ users.noreply.github.com) Todos os seus commits - a partir de então - incluirão apenas o email "noreply" privado. Observe que qualquer confirmação prévia / repo local confirmada com o conjunto de e-mail pessoal ainda a mostrará.
quer

Respostas:

361

Embora o GitHub tenha removido o recurso de mensagens privadas, ainda há uma alternativa.

Repositórios git do host do GitHub. Se o usuário com quem você deseja se comunicar já comprometeu algum código, há boas chances de você atingir seu objetivo. De fato, em cada confirmação são armazenadas algumas informações sobre o autor da alteração ou sobre quem a aceitou.

Desde que você esteja realmente ansioso para trocar com o usuário user_test

  • Exiba a página de atividade pública do usuário: https://github.com/user_test?tab=activity
  • Procure um evento informando "user_test enviado por push para [branch] no [repository]" . Geralmente há boas chances, eles podem ter empurrado um de seus próprios commits. Verifique se é esse o caso clicando no link "Visualizar comparação ..." e verifique se o usuário está listado como um dos confirmadores.
  • Clone na sua máquina local o repositório para o qual eles enviaram: git clone https://github.com/..../repository.git
  • Faça o checkout do ramo para o qual eles enviaram: git checkout [branch]
  • Exiba as confirmações mais recentes: git log -50

Como autor / autor, um email deve ser exibido junto com os dados de confirmação.

Nota: Todo aviso relacionado a emails não solicitados deve ser aplicado lá. Não faça spam.

nulltoken
fonte
11
O que o usuário não tem atividade? Quero dizer, simplesmente criou uma conta e nunca mais fez login?
Hossein
6
Uau! por que não usar o endereço de e-mail na página de perfil do usuário do github ?!
Mavili
24
@mavili Porque não pode ser preenchido. Veja a pergunta -> "quando apenas o nome de usuário / ID é fornecido na página do github?"
Nulo28
5
@ nulltoken Eu li sua resposta com olhos chorosos. Não acredito que esse sonho se tornou realidade. Tanques irmão graças ......
Esterlinkof
3
Provavelmente, você receberá um [email protected]endereço, caso alguém realmente queira manter seu endereço de email privado.
tigrou
237

Este método estava funcionando em março de 2020

  1. Copie e cole a próxima linha no seu navegador (fique à vontade para marcar como favorito): https://api.github.com/users/xxxxxxx/events/public
  2. Encontre o nome de usuário do GitHub para o qual deseja o email. Substitua xxxxxxx na URL pelo nome de usuário do GitHub da pessoa. Pressione Enter.
  3. Pressione Ctrl + F e procure por "email".

Conforme sugerido pelo qbolec , as etapas acima podem ser executadas usando este trecho:

<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

Nikhil
fonte
7
No meu caso, ele não contém um email
TheKitMurkit 11/17/17
7
Este método requer que o usuário tenha alguma atividade pública
ovinophile
5
Whoa, esta resposta é apenas um tesouro para spammers ... "Como encontrar e-mail endereço do usuário de qualquer github"
Alex
7
O endereço de email nesta API é proveniente da configuração git local do usuário, não do que eles definiram no Github. Recentemente, o Github adicionou uma opção, em Configurações / E-mails, para bloquear confirmações que acidentalmente incluem um endereço de e-mail que o usuário marcou como 'particular'. E, sim, o conteúdo revelado pela API é aplicável apenas a repositórios públicos; dados de repo privados não serão exibidos.
Leanne
2
@pbhj alguém deve dizer ao github, provavelmente. isso é um vazamento de privacidade.
Gewure 11/06/19
52

Para pessoas preguiçosas, como eu, um trecho baseado na solução da 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
fonte
11
Isso fornecerá resultados falsos se o usuário pesquisado tiver mesclado um PR de outro usuário. Nesse caso, commitshaverá uma matriz com o autor do PR e a fusão (usuário que mesclou o PR).
Styfle 19/07/19
50

Basta realizar um repo fictício, abrir um novo problema e usar @xxxxx para notificar o usuário afetado.

Se o usuário tiver a notificação via e-mail ativada, ele receberá um e-mail; caso contrário, ele notará no próximo login.

Não há necessidade de procurar endereços de email em confirmações ou fluxo de atividades e a privacidade é respeitada.

Kay Marquardt
fonte
deve ser uma resposta votada mais alta. Simples e direto ao ponto e, como você disse, respeita a privacidade. ty.
JoelAZ
11
E se a conta não tiver nenhuma atividade, é a única maneira de fazer isso.
Dave Strickler
33

O Github disse em 3 de abril de 2012:

Hoje estamos removendo dois recursos. Eles estão acumulando poeira há um tempo e é hora de jogá-los fora: Fila de garfos e mensagens privadas

Fonte

MyBoon
fonte
2
Esta resposta é obsoleta. Veja abaixo as respostas atualizadas.
Nikhil
22

Aqui está outra maneira:

  • Navegue pelo histórico de consolidação de alguém (clique em commitsao lado da ramificação para ver todo o histórico de consolidação)

  • Clique no commit que com o nome de usuário da pessoa, pois pode haver muitos deles

  • Você deve ver o endereço da Web com um hash concatenado no URL. Adicione .patcha este URL de confirmação

  • Você provavelmente verá o endereço de e-mail da pessoa lá

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

Fonte: Chris Herron @ Sourcecon

ian0411
fonte
6
Para evitar que um e-mail pessoal seja exibido dessa maneira, os usuários do Github podem acessar Configurações-> E - mails e marcar a caixa Manter meu endereço de e-mail privado . Em seguida, eles devem usar git config user.emailou git config --global user.emaildefinir seu email git local para o endereço de email privado do Github (<username> @ users.noreply.github.com) Todos os seus commits - a partir de então - incluirão apenas o email "noreply" privado. Observe que quaisquer confirmações anteriores ou repositórios locais confirmados com o conjunto de email pessoal ainda conterão o endereço de email real.
Leanne
3
Ainda funciona, obrigado. Espero que os spammers não abusem desse recurso.
Dennis Gorelik
5

Além da remoção do serviço de mensagens do github , o uso muitas vezes não era necessário devido a muitos githubbers se comunicando e defendendo o twitter .

A vantagem é que existe:

  • total transparência
  • melhor cobertura
  • melhores recursos de pesquisa para tweets
  • melhor arquivamento, por exemplo, da Biblioteca do Congresso dos EUA

Provavelmente não é coincidência que o stackoverflow também não permita mensagens privadas, para garantir total transparência. Todo o problema de mensagens é discutido detalhadamente no meta-stackoverflow aqui .

Lorenz Lo Sauer
fonte
8
Ok, que tal alguma maneira de enviá-las publicamente? Por exemplo, quero fazer uma pergunta sobre como fazer uma determinada coisa, e a documentação fornecida é atroz. Seria útil que eles respondessem não apenas a mim, mas a qualquer pessoa que tentasse usar seu código.
Michael
10
Se você quiser fazer uma pergunta / algo relatório sobre a sua / seu projeto - basta abrir uma "questão" no github e discutir
Alex
8
Essa é uma triste situação, no entanto. Para mim, o Twitter é tudo, menos uma boa plataforma.
Xupicor 17/10/2015
9
o twitter é ruim para a comunicação real, porque o limite de 140 caracteres.
my1
6
Isso realmente não ajuda se não houver twitter listado em sua página de perfil.
Igor