每次有编程语言之争就冲上去和别人打的灰头土

1、你在使用或参与一个开源项目,想要开发功能或修复 bug,首先要 fork 这个项目的仓库,然后通过 clone 命令得到一份本地代码。
2、创建特性分支,编写代码增加功能或修复 bug 并进行 commit。
3、发起 pull request 给原仓库请求合并。
4、开发者们可以基于这个 pull request 分宾主落座并进行气氛友好祥和的交流,比如「你改错了,你妹改对,你代码这么烂还想 Merge,做梦去吧」等等。
5、如果你竟然改对了,原仓库管理员就会把你的代码 merge 到他的项目里,你就成为了这个项目的贡献者之一。你编写的代码就有可能被全世界的程序员使用,这是社会化编程最大的乐趣之一。
 
GitHub 的 Pull Request 不但能够轻松查看代码的前后差别,还可以针对每一行代码进行评论和交流,细节一览无余。Code Review 变成了一件充满乐趣的事情,同时开源代码质量也最大程度的得到了保障。
 
PR 的设计为工程师的协作带来了革命性的变化,这种影响不止在开源世界,很多企业开发自己的商业化产品和服务都采用了这种方式,并做出了惊人的商业成就。
 
所以,一个优秀的开源项目不仅仅要看它的 Star 数,还要看有多少活跃的 Issue 和多少次 PR。
 
Issue、Wiki、Pulse、Graphs、Network 等都是 GitHub 的功能特性,不再一一介绍。
 
GitHub 提供了一种更为开放和自由的编写代码和协作方式,势必吸引更多人的人加入到编程领域,我相信未来一定是个人人懂点编程的时代。
 
做为一个在技术社区和开源世界受益良多老程序员,有必要在新年伊始,介绍和推荐一下这个优秀的代码社区。
 
2018年,你加入 GitHub 了吗?