在每個 github 項目的右上角,都有三個按鈕,分別是 watch、star、fork,但是有些剛開始使用 github 的同學,可能對這三個按鈕的使用卻不怎么了解,包括一開始使用 github 的我也是如此,這篇博客,結合自己的理解和使用,說說這三個按鈕的用法以及一些個人見解。
如下圖所示這是我們經常看到的三個按鈕。
從左至右,依次是 watch star fork,下面分別說下他們的具體作用。
watch
watch翻譯過來可以稱之為觀察,點擊watch可以看到如下的列表。
默認每一個用戶都是處于Not watching的狀態,當你選擇Watching,表示你以后會關注這個項目的所有動態,以后只要這個項目發生變動,如被別人提交了pull request、被別人發起了issue等等情況,
你都會在自己的個人通知中心,收到一條通知消息,如果你設置了個人郵箱,那么你的郵箱也可能收到相應的郵件
如下,我 watch 了開源項目android-cn/android-discuss,那么以后任何人只要在這個項目下提交了 issue 或者在 issue 下面有任何留言,
我的通知中心就會通知我。如果你配置了郵箱,你還可能會因此不斷的收到郵件。
如果你不想接受這些通知,那么點擊 Not Watching 即可。
另外這里有一篇文章講 如何正確接收 GitHub 的消息郵件,很不錯的一篇文章,推薦大家看看。
star
star 翻譯過來應該是星星,但是這個翻譯沒任何具體意義,這里解釋為關注
或者點贊
更合適,當你點擊 star,表示你喜歡這個項目或者通俗點,可以把他理解成朋友圈的點贊吧,表示對這個項目的支持。
不過相比朋友圈的點贊,github 里面會有一個列表,專門收集了你所有 start 過的項目,
點擊 github 個人頭像,可以看到 your star的條目,點擊就可以查看你 star 過的所有項目了。如下圖
不過,在你的 star 列表很容易出現這樣的問題。就是你可能 star 成百上千個項目怎么辦。
這時,如果 github 可以提供一個分類功能該多好,就像微博網頁版的收藏,你在收藏的時候可以設置 tag,
這樣設置的好處是,以后再次查找項目時,可以根據歸類查找,但是不知道 github 的產品經理是怎么想的,
github 本身沒有這個功能,但是 github 從來也不缺有思想有執行力的程序員,
這不,前段時間就有人做了一個 Chrome 插件,這個插件可以對 github 中所有 star 的項目進行分類,
如下所示,注意看圖片右側,多了一個 Filter by tag 列表。
盡管這個插件已經很好了,但是還是有缺點,你只能 star完 項目了,去 star 列表后,才能對項目打 tag,這是很不方便的。
真心希望,未來 github 可以自己支持對 star 的 tag 處理。憧憬…
更新
也許是 github 自己也發現了檢索的問題,現在 github 增加了一個類似的功能,可以給自己給自己的項目設置 topic. 如下圖所示。
topic
給自己的項目設置 topic 后,相當于自己給自己的項目設置了一個 tag ,這樣可以方便別人搜索。比如要搜索所有 topic 為 android 的項目,你只需要在 GitHub 搜索時輸入 topic android
然后搜索即可。
fork
當選擇 fork,相當于你自己有了一份原項目的拷貝,當然這個拷貝只是針對當時的項目文件,如果后續原項目文件發生改變,你必須通過其他的方式去同步。
一般來說,我們不需要使用 fork 這個功能,除非有一些項目,可能存在 bug 或者可以繼續優化的地方,你想幫助原項目作者去完善這個項目或者單純的想在原來項目基礎上己維護一個屬于自己項目(比如我 fork 的 AndroidWeekly 客戶端,那么你可以 fork 一份項目下來,然后自己對這個項目進行修改完善,當你覺得項目沒問題了,你就可以嘗試發起 pull request 給原項目作者了。
然后就靜靜等待他的 merge 郵件通知了。
我看到很多人錯誤的在使用 fork。很多人把 fork 當成了收藏一樣的功能,包括一開始使用 github 的我,每次看到一個好的項目就先 fork,
因為這樣,就可以我的 repository(倉庫)列表下查看 fork 的項目了。其實你完全可以使用 star 來達到這個目的。
使用建議
1、對于一些可能會經常發生變化的會不定期更新的好項目 多使用 watch.
比如 android-cn 團隊的 android-discuss 項目,
你就可以 watching 它,這里面都是一些關于 Android 技術的交流,如果有任何新問題,你都可以收到通知,你可以查看別人的回答,
你可以回答別人提出的問題,這是一個很好的學習成長方式。
其他值得watch的項目還有很多,比如 github 上很多的 Awesome 系列的項目,如 Awesome-MaterialDesign 等,你 watch 這些項目了,
只要項目新增一些好玩好用的東西,你就會收到通知。
我在知乎上看到有人問這樣的問題,說 github 上有哪些值得 watch 的項目,其實有很多,我自己也整理了一些,但是沒放到 github.
值得注意的是,如果 watch多了,你可能會被無休止的郵件通知煩死(郵件通知可設置),因為被 watch 項目有任何留言、PR等更新都會觸發通知,所以做好權衡。
2、喜歡一個項目就 star 它吧~
3、修改開源項目就使用 fork,這樣你就可以在原項目的基礎上,對項目進行修改提交,現在你是這個項目的主人啦~
小細節
有些時候,你看到一個項目的 star 數有很多,你就想知道到底都有那些人 star 了這個項目,或者 fork 了這個項目,
但是環顧一圈,你卻找不到一個入口,后來自己不經意的發現,只要點擊 star 傍邊的數字
,就可以查看有哪些人 star 了這個項目。
是不是有點意思,現在你就可以去試試,watch、fork上面的數字都是可以點擊的,道理一樣。