【github&&git】1、github中的watch、star、fork的作用
【转自:http://www.jianshu.com/p/6c366b53ea41】
在每个 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 处理。憧憬...
fork
当选择 fork,相当于你自己有了一份原项目的拷贝,当然这个拷贝只是针对当时的项目文件,如果后续原项目文件发生改变,你必须通过其他的方式去同步。
一般来说,我们不需要使用 fork 这个功能,至少我一般不会用,除非有一些项目,可能存在 bug 或者可以继续优化的地方,你想帮助原项目作者去完善这个项目
,那么你可以 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多了,你可能会被无休止的邮件通知烦死(邮件通知可设置),所以做好权衡,哈哈~
2、喜欢一个项目就 star 它吧~
3、修改开源项目就使用fork,这样你就可以在原项目的基础上,对项目进行修改提交,现在你是这个项目的主人啦~
小细节
有些时候,你看到一个项目的 star 数有很多,你就想知道到底都有那些人 star 了这个项目,或者 fork 了这个项目,
但是环顾一圈,你却找不到一个入口,后来自己不经意的发现,只要`点击 star 傍边的数字`,就可以查看有哪些人star了这个项目。
是不是有点意思,现在你就可以去试试,watch、fork上面的数字都是可以点击的,道理一样。
结语
这里只说了关于这三个按钮的使用,github 肯定还有很多使用技巧,欢迎大家多多讨论,互相学习。
【github&&git】1、github中的watch、star、fork的作用的更多相关文章
- github git 在GitHub上创建项目并将本地项目push到网站上
众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...
- github中的watch、star、fork的作用
[转自:http://www.jianshu.com/p/6c366b53ea41] 在每个 github 项目的右上角,都有三个按钮,分别是 watch.star.fork,但是有些刚开始使用 gi ...
- 使用git向github中添加项目并更新(备忘录)
今天使用Git&github&ST3时,发现ST3不仅是git插件不能push成功,使用sublimegit插件也不行. 可能是没有掌握sublimegit的使用技巧,有待后续继续摸索 ...
- 【github&&git】4、git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Android Studio中Git和GitHub使用详解
一.Git和GitHub简述 1.Git 分布式版本控制系统,最先使用于Linux社区,是一个开源免费的版本控制系统,功能类似于SVN和CVS.Git与其他版本管理工具最大的区别点和优点就是分布式: ...
- 使用Homebrew安装Git与Github在idea中的配置
系统环境:macOS 10.13.4 一.Homebrew的安装 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有yum,Ubuntu有apt ...
- GitHub中watch、star、fork的作用
star 的作用是收藏,目的是方便以后查找. watch 的作用是关注,目的是等作者更新的时候,你可以收到通知. fork 的作用是参与,目的是你增加新的内容,然后 Pull Request,把你的修 ...
- Pycharm中Git、Github的简单使用和配置
Pycharm中Git.Github的使用 PyCharm本身自带了git,稍微配置一下就可以很好的在图形界面下进行Python项目的版本控制 配置Git 在配置前先新建一个项目,当然也可以打开已有的 ...
- AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...
随机推荐
- VIP之Switch
Switch II 最大能连接12路输入与12路输出 不能合并数据数 每个输入可以驱动多个输出 每个输出只能被一个输入驱动 当输入没有连接到输出时,可以禁止掉 每个被禁止的输入可以设置成停止或者消耗模 ...
- poj 2505 A multiplication game
题目 题意:两个人轮流玩游戏,Stan先手,数字 p从1开始,Stan乘以一个2-9的数,然后Ollie再乘以一个2-9的数,直到谁先将p乘到p>=n时那个人就赢了,而且轮到某人时,某人必须乘以 ...
- Tomcat 多项目部署方法整理
Tomcat 多项目部署方法整理 说明:tomcat-deploy-aaa和tomcat-deploy-bbb是两个不同的web项目,为了方便以下简称aaa和bbb,请先自行创建并跑通 导航: NO1 ...
- STL中的容器作为返回值
分别以函数返回值方式和参数传引用方式测试了vector.map两种容器,代码如下: // testContainer.cpp : Defines the entry point for the con ...
- Centos安装Grafana
下载:https://grafana.com/grafana/download $ wget wget https://s3-us-west-2.amazonaws.com/grafana-relea ...
- 文件上传和WAF的攻与防
Author:JoyChouDate:20180613 1. 前言 本文的测试环境均为 nginx/1.10.3 PHP 5.5.34 有些特性和 语言及webserver有关,有问题的地方,欢迎大家 ...
- Linux - 参考链接
01 - Linux系统监控的Shell脚本 常用的主机监控Shell脚本 使用Shell脚本对Linux系统和进程资源进行监控 02 - Linux系统结构 Linux 系统结构详解 03 - Li ...
- 对于python setup.py install安装的包如何卸载
easy_install 安装 卸载命令 easy_install -m package-name setup.py安装 帮助你纪录安装细节方便你卸载 python setup.py install ...
- app自动化测试之实战应用(魅族计算器)
模拟魅族计算器加法计算: from appium import webdriver desired_caps = {} desired_caps['deviceName'] = '621QECQ23D ...
- 课程三(Structuring Machine Learning Projects),第二周(ML strategy(2)) —— 1.Machine learning Flight simulator:Autonomous driving (case study)
[中文翻译] 为了帮助您练习机器学习的策略, 在本周我们将介绍另一个场景, 并询问您将如何行动.我们认为, 这个工作在一个机器学习项目的 "模拟器" 将给一个任务, 告诉你一个机器 ...