blog icon indicating copy to clipboard operation
blog copied to clipboard

如何正确接收 GitHub 的消息邮件

Open cssmagic opened this issue 9 years ago • 67 comments

如何正确接收 GitHub 的消息邮件

背景

我厂的开发流程通常都是基于 GitHub 的。在 GitHub 上 review 代码,也是我日常工作的重要组成部分。对我来说,在 code review 过程中最讨厌的莫过于,我在 pull request 或 commit 下面评论或 @ 人,往往石沉大海,没有回音。我事后追问当事人,他们的回复往往是 “不知道你 @ 我了呀~”。

这让我非常恼火。所以,我决定写篇文档给所有人看,避免他们漏看重要的 GitHub 消息。此后在 GitHub 不回复我的人,差不多也可以绝交了罢!

GitHub 的通知机制

通知的类型和方式

在两种情况下,我们会收到 GitHub 的通知。

  • 我关注的(Watching):当我关注了某个项目之后,相当于订阅了这个项目的所有更新,即这个项目的新 release、新 issue、新 PR 及所有讨论都会通知我。

  • 我参与的(Participating):当我参与到某个 issue、PR 或 commit 的讨论,或被别人 @ 后,我都会持续收到这个讨论的后续更新。

后面一种情况似乎对我更加重要一些。如果不需要密切跟进某个项目,我应该避免关注它。

另外,GitHub 会通过以下两种方式来通知我们:

  • 站内信(Web):当我登录 GitHub 网站时,如果有新消息,在导航栏会看到一个小蓝点。点进去就可以看到详细通知。

    站内信收件箱

  • 电子邮件(Email):通知会直接发送到我的邮箱,而且我直接回复邮件的效果相当于登录到相关页面回复,非常方便。

可见,前者是被动方式,提醒能力太弱。而后者是主动推送,时效性好,但我需要注意的就是控制消息密度,避免被轰炸。因此,接下来,我们来了解一下 GitHub 的 “自动关注” 功能。

自动关注

不错过重要的消息,首先意味着不能被无关紧要的消息湮没。如果你经常收到大量的 GitHub 消息,那你可能就全都不看了。因此,我们需要关掉 “自动关注” 功能。

登录 GitHub 通知中心页面,即可关闭这个功能:

自动关注功能

为什么要关它?这个功能很有意思,每当你获得了一个 repo 的 push 权限之后,GitHub 就会帮你自动关注这个 repo。这在开源社区是很有用的,因为当你获得了这个权限时,往往意味着你成为了这个 repo 的核心维护者,你确实需要第一时间掌握这个项目的一举一动。

但这对于公司内部项目就不那么合适了。比如我们的主站项目是一个私有 repo,几乎公司内的每位工程师都会 fork 它;同时出于协作的需要,每个 fork 都需要向所有工程师开放读写权限。因此,你将自动关注这近百个 repo,而这些 repo 的任何风吹草动都会通知你,即使你并未真正在其它同事的 fork 上工作。

总之,为了避免无关消息对你的轰炸,请关掉自动关注功能。你可能已经关注了一堆无关紧要的 fork 了,请记得在你的 关注列表页面 逐一取消。(如果你不是核心管理员,建议你把主站项目的 upstream 也取消关注。)

个人设置

了解完 GitHub 的特性之后,我们就可以针对性地做出配置和选择了。

设定 Email

正常情况下,每个人在工作时间都会开着自己的工作邮箱。那么首先,需要确保 GitHub 的消息是发到这个邮箱的。由于每个人的 GitHub 账号往往并非是用工作邮箱注册的,我们需要把邮箱搞对。

登录 GitHub 的邮箱设置页面,添加自己的工作邮箱。随后工作邮箱会收到一封验证邮件,完成验证之后,你的 GitHub 账号就绑定了两个邮箱。

账号邮箱设置

(并不需要为把这个工作邮箱设置为 “primary”,只要验证通过就可以了。)

到这里我们就做好 Email 的准备工作。

通知中心

接下来,我们进入 GitHub 通知中心,为两种不同类型的通知选择通知方式。请确保至少第一个 “Email” 是被选中的:

通知方式设置

接下来,选择接收邮件通知的邮箱。选择我们刚刚添加的工作邮箱,保存。

通知邮箱设置

(这里的邮箱设置只会影响消息的接收,不会影响账号身份。)

好了,大功告成。从此以后,所有重要的 GitHub 消息都会发送到你的工作邮箱。最后,再告诉你几个小技巧,相信你用得上。

减少干扰

取消关注某个 Repo

前面已经提到过 你的关注列表,在那里,你可以随时清理不再重要的项目。同时,进入任何项目的页面,在右上角都可以选择对它的关注方式。

Repo 的关注选项

“Not watching” 意味着取消关注,你将不会收到与你无关的通知。而与你有关的(你发起的、主动参与的或被 @ 的)讨论有新回复,你还是会收到通知的。

请注意不要选择 “Ignoring”,那意味着你连重要的消息也收不到了。

取消关注某个讨论

当某个讨论已经没你什么事了,但仍然不断有后续消息涌进来,那就果断屏蔽它吧。从消息邮件中的链接点到网页,找到如下所示的 “取消订阅” 的按钮,即可取消关注这个讨论。

取消订阅-1

取消订阅-2

锁定某个讨论

当某个 issue 或 PR 已经没有继续讨论的必要的,你可以锁定它——当然前提是你得是这个 repo 的管理员。

屏蔽某个人

如果你遇到了无聊的人总是骚扰你,可以到它的用户页面,屏蔽并举报。

结语

相信看到这里,你已经对 GitHub 的通知机制十分了解了吧,并且应该可以灵活配置 GitHub 消息的接收方式了。

好吧,就这样吧。如果以后还是不回复我,绝交。


© Creative Commons BY-NC-ND 4.0   |   我要订阅   |   我要打赏

cssmagic avatar Mar 20 '15 09:03 cssmagic

羡慕啊!github 用在工作流程上

chunpu avatar Mar 21 '15 08:03 chunpu

玩转GitHub 哈哈

camnpr avatar Mar 31 '15 05:03 camnpr

学习了,棒棒哒

illuSioN4ng avatar Aug 25 '15 02:08 illuSioN4ng

very good!!!

catxxcc avatar Aug 25 '15 13:08 catxxcc

吐个槽,贵厂对GitHub的使用有这么不熟练么。。。

除此之外,我收不到邮件的更多情况是Gmail的原因,注册的时候Gmail还没有什么问题,现在不翻墙的话是不行的,一直用QQ邮箱代收,然后微信接收,现在接收的不是特别全,就有一定的问题了。不过还好,我一直会看站内信

rccoder avatar Aug 25 '15 13:08 rccoder

@rccoder 谢谢吐槽。不过,不是每个人一生下来就是对所有工具熟练的,总会有一个学习和摸索的过程。如果有教程,这个学习的过程会快一些。于是,我写了教程。

另外,文中的一些调侃桥段只是写作手法,就不要当真了吧? :joy:

cssmagic avatar Aug 26 '15 02:08 cssmagic

堪称Github Notification实践指南

icepy avatar Aug 26 '15 05:08 icepy

学习啦,感谢!

zhiqiang21 avatar Mar 23 '16 02:03 zhiqiang21

好贴必回!

383771059 avatar Apr 02 '16 16:04 383771059

clevergump avatar Jun 05 '16 08:06 clevergump

很不错,已转给新来的同事

yimingtang avatar Jun 06 '16 02:06 yimingtang

多谢了,之前被GitHub的抄送狂轰滥炸,邮箱杯盘狼藉。

AustinXT avatar Jul 12 '16 12:07 AustinXT

好像还不错,先学习了

zhoujinl avatar Jul 13 '16 09:07 zhoujinl

发issues怎么添加图片?

hongdou0216 avatar Aug 08 '16 06:08 hongdou0216

直接拖动图片到文字编辑框里面就可以了

zhiqiang21 avatar Aug 08 '16 06:08 zhiqiang21

经常失败

hongdou0216 avatar Aug 08 '16 06:08 hongdou0216

国内的github服务不稳定,挂代理咳😁

zhiqiang21 avatar Aug 08 '16 06:08 zhiqiang21

好帖,贵厂是百度吗

ysm-github avatar Aug 16 '16 09:08 ysm-github

@ysm-github 是百姓网哦。

cssmagic avatar Aug 16 '16 14:08 cssmagic

厉害,收藏了

MarkStray avatar Oct 10 '16 09:10 MarkStray

为啥没有watch,这边又回到的时候还会收到邮件通知呀

zhiqiang21 avatar Oct 10 '16 09:10 zhiqiang21

为啥没有watch,这边又回到的时候还会收到邮件通知呀

参与讨论后会自动 watch 这个 issue。退订方法参见本文的 “取消关注某个讨论” 段落。

cssmagic avatar Oct 10 '16 14:10 cssmagic

给力,对小白很有帮助

johnsun007 avatar Oct 27 '16 16:10 johnsun007

很赞,不知道如何处理的时候,先看下有经验的人的处理方法。少走弯路。多谢。

staciac avatar Oct 29 '16 09:10 staciac

感谢提供说明

loveflywei avatar Nov 16 '16 03:11 loveflywei

学习了

Yodeser avatar Nov 24 '16 06:11 Yodeser

解决我的问题了,真详细,谢谢。

lvmodan avatar Dec 06 '16 09:12 lvmodan

star

fuyuguang avatar Dec 08 '16 09:12 fuyuguang

👍

islishude avatar Mar 03 '17 01:03 islishude

thx a million

Khande avatar Mar 28 '17 07:03 Khande

真的好羡慕能够使用Github工作流进行开发的公司。

Pines-Cheng avatar Apr 15 '17 18:04 Pines-Cheng

谢谢,对初学者来说非常好的小教程。

BenjaminGao avatar Apr 18 '17 18:04 BenjaminGao

lg-code-repo avatar May 05 '17 09:05 lg-code-repo

很有用哦

happyZYC avatar May 17 '17 02:05 happyZYC

谢谢大神,终于关掉了无关的邮件提醒!!!我的邮箱已经被5G邮件挤爆啦

differs avatar Jul 14 '17 18:07 differs

哈哈哈。绝交。

HaiTeng-Wang avatar Jul 21 '17 02:07 HaiTeng-Wang

感谢

yunchaolu avatar Jul 28 '17 06:07 yunchaolu

请指教下,如何设置能达到以下目的。 希望仓库发布master和tag的时候发送邮件。 不希望接受pull request, issue

taoliujun avatar Sep 05 '17 05:09 taoliujun

@taoliujun GitHub 这一端似乎还没有这么细粒度的设置。你可以在邮件客户端设置过滤器。

cssmagic avatar Sep 05 '17 13:09 cssmagic

已经订阅过的内容现在取消订阅了,在首页里还是会显示,怎么彻底删除呢?

sandianyiyuan avatar Sep 17 '17 10:09 sandianyiyuan

@sandianyiyuan 粗略分析一下,似乎 GitHub 首页信息流包含了三种来源(你自己的项目、你 watch 的项目、你 follow 的人)的动态。所以你需要弄清楚某一条 “在首页里还是会显示” 的动态到底来自哪里,然后再针对性地 unwatch 或 unfollow。

cssmagic avatar Sep 20 '17 02:09 cssmagic

您好,您这篇文章写得很好,受益良多。 但是我有个问题,就是我希望得到某项目的new release通知,但是又不想watch它(watch之后所有相关的内容都会提醒我,这一点太麻烦了。 这个可以做到吗?

SawaraNazo avatar Dec 07 '17 07:12 SawaraNazo

@SawaraNazo 先 watch,然后在邮箱里设置过滤器。

cssmagic avatar Dec 08 '17 09:12 cssmagic

@cssmagic 明白了,谢谢您。

SawaraNazo avatar Dec 08 '17 09:12 SawaraNazo

3Q~ 终于找到教程了

SylviaCheung avatar Dec 10 '17 12:12 SylviaCheung

一开始也把fork当做favorite了

houdq avatar Dec 18 '17 07:12 houdq

666

chengkj99 avatar Jan 16 '18 07:01 chengkj99

好文章,受益匪浅.

jaythc avatar Feb 12 '18 10:02 jaythc

好文章.谢谢

gttiankai avatar Mar 27 '18 01:03 gttiankai

但是奇怪,难道GitHub有时会漏发邮件? 已遇不止一次,虽已勾选 Include your own updates 。 自己的,漏了自己知道, 可要是别人的漏了,遇上楼主这种爱绝交的,岂不冤枉…… :sweat: 不像是邮箱的问题,[垃圾]里没有。

各位有没这种情况? @rccoder commented on Aug 25, 2015 : 现在接收的不是特别全 @hongdou0216 commented on Aug 8, 2016 : 经常失败

GH01 avatar Aug 14 '18 22:08 GH01

好文章,学习了,受益匪浅.

windbell3k avatar Nov 14 '18 16:11 windbell3k

学习了#99

Eric-Zhang1990 avatar Nov 16 '18 02:11 Eric-Zhang1990

必须赞

wowpH avatar May 18 '19 15:05 wowpH

学习了

MikaQiao avatar Jul 24 '19 09:07 MikaQiao

好文章~

ylsislove avatar Nov 13 '19 06:11 ylsislove

学习了

zhc0842 avatar Apr 01 '20 12:04 zhc0842

学习了, 被轰炸到放弃了一个邮箱...

aiueo-0 avatar Jun 01 '20 07:06 aiueo-0

good

even4Java avatar Jun 21 '20 06:06 even4Java

关于GitHub的艾特功能,分享一下我的体会:

普通用户想反馈软件问题,可能会选择艾特原作者、dalao等前辈,这在社交媒体上也许是常态。但在GitHub里,艾特他人功能一定得慎用,尤其是commit里。否则会被一些暴躁collaborator直接怒怼,因为你可能会无端打扰到他们,他们不喜欢动不动就来垃圾邮件。对,默认情况下被艾特是会收到邮件的。 比如说项目B fork自项目A,那么项目A的提交者也会出现在项目B的部分commit中,但他们却跟这个项目没关系。这时如果为了反馈问题艾特他们,脾气好的会告诉你他不负责这个项目,让你请勿打扰;而脾气不好的就直接怼你“STOP PINNING ANYONE!”,一点礼貌都不跟你讲。后者往往会很强势。 我个人是不主张开发者无礼回怼的,这会引起非常不愉快的沟通,还会让我八卦对方到底经历了啥坑爹事儿。当然作品归作品,本人归本人,遵循个案原则,理性看待、将心比心才是王道。

AnClark avatar Aug 20 '20 13:08 AnClark

小白对于这里面很多专业词都看不懂,这篇文章很难读

huangjc0715 avatar Sep 04 '20 02:09 huangjc0715

感谢分享!终于不用去收无关的issue邮件了……👍

cjh-1203 avatar Nov 05 '20 01:11 cjh-1203

very good, thank you

ibertli avatar Feb 17 '21 08:02 ibertli

每个issue有comment更新都会收到通知,要怎么取消,我只想在新增issue的时候才被通知。

KylinLee avatar Mar 01 '21 11:03 KylinLee

作为一个新手小白,很有用,thanks

wan-yujun avatar Apr 06 '21 08:04 wan-yujun

我的Subscriptions列表,选了Reson: Mention以后显示Subscriptions 1,但是下面是空的,没法找到那个东西unsubscribe

ghost avatar Jul 02 '21 04:07 ghost

学习了

xidian2wuzhaoji avatar Apr 08 '22 03:04 xidian2wuzhaoji

您的来信已收到,谢谢!祝愉快!

staciac avatar Apr 08 '22 03:04 staciac