转自:http://www.jianshu.com/p/6c366b53ea41css
在每一个 github 项目的右上角,都有三个按钮,分别是 watch、star、fork,可是有些刚开始使用 github 的同窗,可能对这三个按钮的使用却不怎么了解,包括一开始使用 github 的我也是如此,这篇博客,结合本身的理解和使用,说说这三个按钮的用法以及一些我的看法。html
以下图所示这是咱们常常看到的三个按钮。android
从左至右,依次是 watch star fork,下面分别说下他们的具体做用。git
watch翻译过来能够称之为观察,点击watch能够看到以下的列表。程序员
默认每个用户都是处于Not watching的状态,当你选择Watching,表示你之后会关注这个项目的全部动态,之后只要这个项目发生变更,如被别人提交了pull request、被别人发起了issue等等状况,github
你都会在本身的我的通知中心,收到一条通知消息,若是你设置了我的邮箱,那么你的邮箱也可能收到相应的邮件web
以下,我 watch 了开源项目android-cn/android-discuss,那么之后任何人只要在这个项目下提交了 issue 或者在 issue 下面有任何留言,chrome
个人通知中心就会通知我。若是你配置了邮箱,你还可能会所以不断的收到邮件。学习
若是你不想接受这些通知,那么点击 Not Watching 便可。优化
另外这里有一篇文章讲 如何正确接收 GitHub 的消息邮件,很不错的一篇文章,推荐你们看看。
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 后,至关于本身给本身的项目设置了一个 tag ,这样能够方便别人搜索。好比要搜索全部 topic 为 android 的项目,你只须要在 GitHub 搜索时输入 `topic android ` 而后搜索便可。
当选择 fork,至关于你本身有了一份原项目的拷贝,固然这个拷贝只是针对当时的项目文件,若是后续原项目文件发生改变,你必须经过其余的方式去同步。
通常来讲,咱们不须要使用 fork 这个功能,除非有一些项目,可能存在 bug 或者能够继续优化的地方,你想帮助原项目做者去完善这个项目或者单纯的想在原来项目基础上己维护一个属于本身项目(好比我 fork 的 AndroidWeekly 客户端,那么你能够 fork 一份项目下来,而后本身对这个项目进行修改完善,当你以为项目没问题了,你就能够尝试发起 pull request 给原项目做者了。
而后就静静等待他的 merge 邮件通知了。
我看到不少人错误的在使用 fork。不少人把 fork 当成了收藏同样的功能,包括一开始使用 github 的我,每次看到一个好的项目就先 fork,
由于这样,就能够个人 repository(仓库)列表下查看 fork 的项目了。其实你彻底可使用 star 来达到这个目的。
一、对于一些可能会常常发生变化的会不按期更新的好项目 多使用 watch.
好比 android-cn 团队的 android-discuss 项目,
你就能够 watching 它,这里面都是一些关于 Android 技术的交流,若是有任何新问题,你均可以收到通知,你能够查看别人的回答,
你能够回答别人提出的问题,这是一个很好的学习成长方式。
其余值得watch的项目还有不少,好比 github 上不少的 Awesome 系列的项目,如 Awesome-MaterialDesign 等,你 watch 这些项目了,
只要项目新增一些好玩好用的东西,你就会收到通知。
我在知乎上看到有人问这样的问题,说 github 上有哪些值得 watch 的项目,其实有不少,我本身也整理了一些,可是没放到 github.
值得注意的是,若是 watch多了,你可能会被无休止的邮件通知烦死(邮件通知可设置),由于被 watch 项目有任何留言、PR等更新都会触发通知,因此作好权衡。
二、喜欢一个项目就 star 它吧~
三、修改开源项目就使用 fork,这样你就能够在原项目的基础上,对项目进行修改提交,如今你是这个项目的主人啦~
有些时候,你看到一个项目的 star 数有不少,你就想知道到底都有那些人 star 了这个项目,或者 fork 了这个项目,
可是环顾一圈,你却找不到一个入口,后来本身不经意的发现,只要`点击 star 傍边的数字`,就能够查看有哪些人 star 了这个项目。
是否是有点意思,如今你就能够去试试,watch、fork上面的数字都是能够点击的,道理同样。