如何正確接收 GitHub 的訊息郵件

cssmagic發表於2016-03-26

背景

我廠的開發流程通常都是基於 GitHub 的。在 GitHub 上 review 程式碼,也是我日常工作的重要組成部分。對我來說,在 code review 過程中最討厭的莫過於,我在 pull request 或 commit 下面評論或 @ 人,往往石沉大海,沒有迴音。我事後追問當事人,他們的回覆往往是 “不知道你 @ 我了呀~”。

這讓我非常惱火。所以,我決定寫篇文件給所有人看,避免他們漏看重要的 GitHub 訊息。此後在 GitHub 不回覆我的人,差不多也可以絕交了罷!

如何正確接收 GitHub 的訊息郵件

GitHub 的通知機制

通知的型別和方式

在兩種情況下,我們會收到 GitHub 的通知。

  • 我關注的(Watching):當我關注了某個專案之後,相當於訂閱了這個專案的所有更新,即這個專案的新 release、新 issue、新 PR 及所有討論都會通知我。
  • 我參與的(Participating):當我參與到某個 issue、PR 或 commit 的討論,或被別人 @ 後,我都會持續收到這個討論的後續更新。

後面一種情況似乎對我更加重要一些。如果不需要密切跟進某個專案,我應該避免關注它。

另外,GitHub 會通過以下兩種方式來通知我們:

  • 站內信(Web):當我登入 GitHub 網站時,如果有新訊息,在導航欄會看到一個小藍點。點進去就可以看到詳細通知。

    如何正確接收 GitHub 的訊息郵件

  • 電子郵件(Email):通知會直接傳送到我的郵箱,而且我直接回復郵件的效果相當於登入到相關頁面回覆,非常方便。

可見,前者是被動方式,提醒能力太弱。而後者是主動推送,時效性好,但我需要注意的就是控制訊息密度,避免被轟炸。因此,接下來,我們來了解一下 GitHub 的 “自動關注” 功能。

自動關注

不錯過重要的訊息,首先意味著不能被無關緊要的訊息湮沒。如果你經常收到大量的 GitHub 訊息,那你可能就全都不看了。因此,我們需要關掉 “自動關注” 功能。

登入 GitHub 通知中心頁面,即可關閉這個功能:

如何正確接收 GitHub 的訊息郵件

為什麼要關它?這個功能很有意思,每當你獲得了一個 repo 的 push 許可權之後,GitHub 就會幫你自動關注這個 repo。這在開源社群是很有用的,因為當你獲得了這個許可權時,往往意味著你成為了這個 repo 的核心維護者,你確實需要第一時間掌握這個專案的一舉一動。

但這對於公司內部專案就不那麼合適了。比如我們的主站專案是一個私有 repo,幾乎公司內的每位工程師都會 fork 它;同時出於協作的需要,每個 fork 都需要向所有工程師開放讀寫許可權。因此,你將自動關注這近百個 repo,而這些 repo 的任何風吹草動都會通知你,即使你並未真正在其它同事的 fork 上工作。

總之,為了避免無關訊息對你的轟炸,請關掉自動關注功能。你可能已經關注了一堆無關緊要的 fork 了,請記得在你的 關注列表頁面 逐一取消。(如果你不是核心管理員,建議你把主站專案的 upstream 也取消關注。)

個人設定

瞭解完 GitHub 的特性之後,我們就可以針對性地做出配置和選擇了。

設定 Email

正常情況下,每個人在工作時間都會開著自己的工作郵箱。那麼首先,需要確保 GitHub 的訊息是發到這個郵箱的。由於每個人的 GitHub 賬號往往並非是用工作郵箱註冊的,我們需要把郵箱搞對。

登入 GitHub 的郵箱設定頁面,新增自己的工作郵箱。隨後工作郵箱會收到一封驗證郵件,完成驗證之後,你的 GitHub 賬號就繫結了兩個郵箱。

如何正確接收 GitHub 的訊息郵件

(並不需要為把這個工作郵箱設定為 “primary”,只要驗證通過就可以了。)

到這裡我們就做好 Email 的準備工作。

通知中心

接下來,我們進入 GitHub 通知中心,為兩種不同型別的通知選擇通知方式。請確保至少第一個 “Email” 是被選中的:

如何正確接收 GitHub 的訊息郵件

接下來,選擇接收郵件通知的郵箱。選擇我們剛剛新增的工作郵箱,儲存。

如何正確接收 GitHub 的訊息郵件

(這裡的郵箱設定只會影響訊息的接收,不會影響賬號身份。)

好了,大功告成。從此以後,所有重要的 GitHub 訊息都會傳送到你的工作郵箱。最後,再告訴你幾個小技巧,相信你用得上。

減少干擾

取消關注某個 Repo

前面已經提到過 你的關注列表,在那裡,你可以隨時清理不再重要的專案。同時,進入任何專案的頁面,在右上角都可以選擇對它的關注方式。

如何正確接收 GitHub 的訊息郵件

“Not watching” 意味著取消關注,你將不會收到與你無關的通知。而與你有關的(你發起的、主動參與的或被 @ 的)討論有新回覆,你還是會收到通知的。

請注意不要選擇 “Ignoring”,那意味著你連重要的訊息也收不到了。

取消關注某個討論

當某個討論已經沒你什麼事了,但仍然不斷有後續訊息湧進來,那就果斷遮蔽它吧。從訊息郵件中的連結點到網頁,找到如下所示的 “取消訂閱” 的按鈕,即可取消關注這個討論。

如何正確接收 GitHub 的訊息郵件

如何正確接收 GitHub 的訊息郵件

鎖定某個討論

當某個 issue 或 PR 已經沒有繼續討論的必要的,你可以鎖定它——當然前提是你得是這個 repo 的管理員。

遮蔽某個人

如果你遇到了無聊的人總是騷擾你,可以到它的使用者頁面,遮蔽並舉報。

結語

相信看到這裡,你已經對 GitHub 的通知機制十分了解了吧,並且應該可以靈活配置 GitHub 訊息的接收方式了。

好吧,就這樣吧。如果以後還是不回覆我,絕交。

相關文章