在聊GitHub之前我们先来说说Git,这是Linux的创始人Linus Torvalds创作的一种版本控制软件。与平时大家听说的SVN这种集中式版本库不同,Git是一种分布式版本库,它在离线时也能正常使用,这样使得开发人员可以随时提交代码,在联网时同步一次即可。同时,Git有着速度快、出色的合并追踪能力等特点,加上开源社区对它的不断完善,使得Git越发的流行。
随着Git的流行,GitHub也就应运而生了,它为使用Git做为版本控制的软件项目提供代码托管服务,同时注入了社交网络的属性。简单的说,在GitHub上面,你可以提交你自己写的代码(发微博)、关注(粉)某人、关注(赞)某个项目、添加评论、Fork(转发)一个项目来自己修改,这些功能和微博都是一样的,只是将我们的吐槽换成了由各种编程语言写的代码。GitHub还提供了一个榜单,也就是热门微博的功能,在上面可以查看最近一段时间最火的项目是什么,下面的截图是最近一个月的热门关注榜单,其中不乏一些知名公司的开源代码。
GitHub中最核心的功能就是Fork&Pull Request,用户可以简单的复制一个项目,然后增加自己的修改,并将修改贡献回原项目。让我们想象一下,一个用户在GitHub上闲逛,发现了一个项目叫youtube-dl,这是一个下载YouTube视频的工具,觉得挺有意思的,不过这哥们是个宅男,觉得只能下载YouTube的视频多没意思啊,还要能下载AB站的视频也能满足自己的需求嘛,于是乎,Fork了这个项目,啪啪啪闷头苦干三天,把下载AB站视频的功能也加上了,然后向原作者发送一个Pull Request,请求将这个功能合并回项目,原作者只需要简单处理一下,所有使用youtube-dl工具的人便也可以下载AB站的视频了,这样宅男同学也获得了一次开源贡献的成就。当一个用户贡献了越多的代码,他也能收获更多的粉丝与关注,当然也能交到更多的好朋(基)友了,这些都能使他内心的成就感爆棚。
那为什么说GitHub是一个博客网站呢?当GitHub上的用户越来越多的时候,总会出现那么几个脑洞大开的人,他们觉得GitHub既然可以托管代码,那么也可以托管普通的文本文件啦。于是,一开始他们上传文本文件,后来上传网页文件,最后他们干脆开发了一套自动化的博客工具,将GitHub变成了一个博客网站。在上面,你可以创建一个项目专门用来存放你的个人站点,只需要一套博客框架,然后将自己的文章简单处理一下,就可以通过xxx.github.io来访问你的站点了。
其实GitHub还是一个招聘网站。经常看到很多互联网公司的HR都在抱怨,现在招人难,招个靠谱的人更难,于是HR里面也会出现那么几个脑洞大的人,他们就去GitHub上逛逛,找到那些符合自己招聘方向的程序员,点开他们的个人页面逐个查看,他们平时的编程水平、代码质量、协作能力都一览无余的展现在面前,这比起成天面对一堆打嘴炮的简历不知高到哪儿去了。
一个单纯的代码托管网站被玩出这么多花样,在下也是服了。
登录 | 立即注册