<a></a>
我廠的開發流程通常都是基于 github 的。在 github 上 review 代碼,也是我日常工作的重要組成部分。對我來說,在 code review 過程中最讨厭的莫過于,我在 pull request 或 commit 下面評論或 @ 人,往往石沉大海,沒有回音。我事後追問當事人,他們的回複往往是 “不知道你 @ 我了呀~”。
這讓我非常惱火。是以,我決定寫篇文檔給所有人看,避免他們漏看重要的 github 消息。此後在 github 不回複我的人,差不多也可以絕交了罷!

在兩種情況下,我們會收到 github 的通知。
我關注的watching:當我關注了某個項目之後,相當于訂閱了這個項目的所有更新,即這個項目的新 release、新 issue、新 pr 及所有讨論都會通知我。
我參與的participating:當我參與到某個 issue、pr 或 commit 的讨論,或被别人 @ 後,我都會持續收到這個讨論的後續更新。
後面一種情況似乎對我更加重要一些。如果不需要密切跟進某個項目,我應該避免關注它。
另外,github 會通過以下兩種方式來通知我們:
站内信web:當我登入 github 網站時,如果有新消息,在導航欄會看到一個小藍點。點進去就可以看到詳細通知。
電子郵件email:通知會直接發送到我的郵箱,而且我直接回複郵件的效果相當于登入到相關頁面回複,非常友善。
可見,前者是被動方式,提醒能力太弱。而後者是主動推送,時效性好,但我需要注意的就是控制消息密度,避免被轟炸。是以,接下來,我們來了解一下 github 的 “自動關注” 功能。
不錯過重要的消息,首先意味着不能被無關緊要的消息湮沒。如果你經常收到大量的 github 消息,那你可能就全都不看了。是以,我們需要關掉 “自動關注” 功能。
為什麼要關它?這個功能很有意思,每當你獲得了一個 repo 的 push 權限之後,github 就會幫你自動關注這個 repo。這在開源社群是很有用的,因為當你獲得了這個權限時,往往意味着你成為了這個 repo 的核心維護者,你确實需要第一時間掌握這個項目的一舉一動。
但這對于公司内部項目就不那麼合适了。比如我們的主站項目是一個私有 repo,幾乎公司内的每位工程師都會 fork 它;同時出于協作的需要,每個 fork 都需要向所有工程師開放讀寫權限。是以,你将自動關注這近百個 repo,而這些 repo 的任何風吹草動都會通知你,即使你并未真正在其它同僚的 fork 上工作。
了解完 github 的特性之後,我們就可以針對性地做出配置和選擇了。
正常情況下,每個人在工作時間都會開着自己的工作郵箱。那麼首先,需要確定 github 的消息是發到這個郵箱的。由于每個人的 github 賬号往往并非是用工作郵箱注冊的,我們需要把郵箱搞對。
(并不需要為把這個工作郵箱設定為 “primary”,隻要驗證通過就可以了。)
到這裡我們就做好 email 的準備工作。
接下來,選擇接收郵件通知的郵箱。選擇我們剛剛添加的工作郵箱,儲存。
(這裡的郵箱設定隻會影響消息的接收,不會影響賬号身份。)
好了,大功告成。從此以後,所有重要的 github 消息都會發送到你的工作郵箱。最後,再告訴你幾個小技巧,相信你用得上。
“not watching” 意味着取消關注,你将不會收到與你無關的通知。而與你有關的(你發起的、主動參與的或被 @ 的)讨論有新回複,你還是會收到通知的。
請注意不要選擇 “ignoring”,那意味着你連重要的消息也收不到了。
當某個讨論已經沒你什麼事了,但仍然不斷有後續消息湧進來,那就果斷屏蔽它吧。從消息郵件中的連結點到網頁,找到如下所示的 “取消訂閱” 的按鈕,即可取消關注這個讨論。
當某個 issue 或 pr 已經沒有繼續讨論的必要的,你可以鎖定它——當然前提是你得是這個 repo 的管理者。
如果你遇到了無聊的人總是騷擾你,可以到它的使用者頁面,屏蔽并舉報。
相信看到這裡,你已經對 github 的通知機制十分了解了吧,并且應該可以靈活配置 github 消息的接收方式了。
好吧,就這樣吧。如果以後還是不回複我,絕交。
本文來自雲栖社群合作夥伴“linux中國”
原文釋出時間為:2013-04-02.