如何给github.com用户留言

需要GitHub使用方面的帮助。我想知道是否有一种方法与github.com用户沟通,即写用户的消息时,只有用户名/id在他们的GitHub页面?GitHub有这个社交功能吗?

239501 次浏览

2012年4月3日,Github表示:

今天我们要删除两个特性。它们已经尘封了一段时间,是时候把它们扔出去了:Fork Queue &私人信息

< a href = " https://github.com/blog/1091-spring-cleaning " > < / >来源

尽管GitHub删除了私人消息功能,但仍然有一个替代方案。

GitHub主机git存储库。如果您愿意与之交流的用户曾经提交过一些代码,那么您就很有可能实现您的目标。实际上,在每次提交中都存储了一些关于更改的作者或接受更改的人的信息。

前提是你真的很想和用户user_test交换

  • 显示用户的公共活动页面:https://github.com/user_test?tab=activity
  • 搜索声明“user_test推送到[分支]at[存储库]”的事件。通常有很好的机会,他们可能已经推动了他自己的提交。点击“View comparison…”链接确保这是事实,并确保用户被列为提交者之一。
  • 在你的本地机器上克隆他们推送到的存储库:git clone https://github.com/..../repository.git
  • 签出他们推到的分支:git checkout [branch]
  • 显示最新的提交:git log -50

作为提交者/作者,应该显示一封电子邮件以及提交数据。

每一个与未经请求的电子邮件相关的警告都应该适用于那里。做垃圾邮件。

除了删除Github消息服务之外,由于许多githubbers与推特交流并提倡推特,所以通常没有必要使用。

优势表示存在:

  • 完全透明
  • 更好的覆盖
  • 更好的twitter搜索功能
  • 更好的存档,例如美国国会图书馆

stackoverflow也不允许私人消息传递,以确保完全透明,这可能不是巧合。整个消息传递问题在meta-stackoverflow 在这里上进行了彻底的讨论。

截至2022年1月,这种方法一直有效

  1. 复制并粘贴下一行到您的浏览器(请随意 ): https://api.github.com/users/xxxxxxx/events/public
  2. 找到你想要电子邮件的GitHub用户名。取代 在URL中使用此人的GitHub用户名xxxxxxx。李回车。< / >
  3. 按Ctrl+F,搜索“email”。

正如qbolec所建议的,上面的步骤可以通过使用这个代码片段来完成:

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

来源:Matthew Ferree @ Sourcecon

对于像我这样的懒人,一个基于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>

这里有另一种方法:

  • 浏览某人的提交历史(点击分支旁边的commits查看整个提交历史)

  • 点击带有用户名的提交,因为可能有很多这样的人

  • 然后,您应该看到web地址具有连接到URL的散列。在这个提交URL中添加.patch

  • 你会可能看到这个人的电子邮件地址

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

来源:Chris Herron @ Sourcecon

只需创建一个虚拟回购,打开一个新的问题,并使用@xxxxx通知受影响的用户。

如果用户已通过电子邮件通知启用,他们将收到电子邮件,如果没有,他们将在下次登录时通知。

不需要在提交或活动流中搜索电子邮件地址,尊重隐私。

GitHub有这个社交功能吗?

如果提交电子邮件是保密的, GitHub 现在(2020年7月)提议:

用户和组织现在可以将Twitter用户名添加到他们的GitHub配置文件中

现在,您可以通过配置文件设置和REST API,直接从配置文件页面将您的Twitter用户名添加到您的GitHub配置文件中。

我们还添加了最新的更改:

  • 组织管理员现在可以通过组织配置文件设置和REST API将Twitter用户名添加到他们的配置文件中。
  • 所有用户现在都可以在用户和组织配置文件上看到Twitter用户名,也可以通过REST和GraphQL api看到Twitter用户名。
  • 当可赞助的维护者和组织将Twitter用户名添加到他们的配置文件中时,我们将鼓励新的赞助商在Twitter上分享他们的赞助时包含该Twitter用户名。

这可能是一种给GitHub用户留言的变通方法。

对我来说最简单的解决方案是把特定用户的用户名或相应用户的存储库链接!

<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, Get email!</button>
<div id=results></div>