需要关于GitHub使用的帮助。我想知道是否有一种方法可以与github.com用户进行通信,即在仅提供用户名/ID的情况下向用户写消息?GitHub是否具备此社交功能?
需要关于GitHub使用的帮助。我想知道是否有一种方法可以与github.com用户进行通信,即在仅提供用户名/ID的情况下向用户写消息?GitHub是否具备此社交功能?
虽然GitHub移除了私信功能,但仍有替代方案。
GitHub托管 git 代码库。如果您想与其通信的用户以前曾提交过一些代码,则很有可能可以实现您的目标。确实,在每个提交中都存储有关更改作者或接受更改的作者的一些信息。
假设您真的渴望与用户 user_test 进行交流:
git clone https://github.com/..../repository.git
git checkout [branch]
git log -50
作为提交者/作者,电子邮件应与提交数据一起显示。
注意:所有与未经请求的电子邮件有关的警告都应该适用。请勿发送垃圾邮件。
username@users.noreply.github.com
的地址,以防有人真的想保护他的电子邮件地址。 - tigrou该方法截至2023年1月仍然有效
如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>
只需创建一个虚拟仓库,打开一个新问题,并使用 @xxxxx 来通知受影响的用户。
如果用户启用了电子邮件通知,他们将收到一封电子邮件,否则他们将在下次登录时注意到。
无需在提交或活动流中搜索电子邮件地址,同时保护隐私。
对于像我这样的懒人,以下是基于 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
按钮可查看整个提交历史记录)
点击该用户名称对应的提交,因为可能有很多提交记录
然后你会看到网址末尾有一个哈希值。在这个提交 URL 后面加上.patch
你 可能会 在那里看到该用户的电子邮件地址
示例:https://github.com/[用户名]/[仓库名]/commit/[哈希值].patch
git config user.email
或git config --global user.email
命令将本地* git *电子邮件设置为Github私人电子邮件地址(<username>@users.noreply.github.com)。从此以后,他们的所有提交都将只包含私人的“noreply”电子邮件地址。请注意,任何之前的提交或本地存储库提交中设置的个人电子邮件地址仍将包含真实的电子邮件地址。 - leanne<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>
这可能是给 GitHub 用户留言的一种解决方法。
使用(并滥用)私人漏洞报告(安全公告)
此功能最初是为了安全地报告存储库的安全问题而引入的:https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability
此功能需要每个存储库选择加入,因此对于绝大多数存储库来说是不可能的。
然而,如果您希望允许他人与您进行私下联系,一个自然的约定就是在您自己的存储库中启用安全公告:
https://github.com/<username>/<username>
, e.g. https://github.com/cirosantilli/cirosantillihttps://github.com/<username>/<username>.github.io
e.g. https://github.com/cirosantilli/cirosantilli.github.ioTo enable those:
Once this is enabled, when other users visit: https://github.com/cirosantilli/cirosantilli/security they will see:
目前情况非常混乱,如果您以所有者身份登录,您将无法看到此页面,但您可以通过在隐私选项卡上退出登录并访问该页面来确认。
一旦打开漏洞,它基本上就像一个私人的GitHub问题,两个用户都可以进行评论交流。
然后,存储库所有者可以随时决定公开漏洞,此时它将出现在存储库漏洞列表中。
一旦发布,无法再对漏洞进行评论。但存储库所有者仍然可以编辑报告标题和正文详细信息。
对于一次不太严重的漏洞对话,需要:
总结起来,对于绝大多数用户来说,这是太繁琐的工作,而私人消息的使用将很少。但是,无论如何,隐私控制是不可避免的选择,即使以后出现了更专门的方式,它始终是一种利基产品。但仍然,这是一种方式。我已经在我的主页存储库上启用了它。
git config user.email
或git config --global user.email
命令将本地git电子邮件地址设置为Github的私人电子邮件地址(<用户名>@users.noreply.github.com)。从那时起,他们所有的提交都将只包含私人的“noreply”电子邮件地址。请注意,任何之前的提交/本地存储库提交中设置的个人电子邮件地址仍将显示。 - leanne