时间:2020-10-05 21:31:56 | 栏目:Nginx | 点击:次
Github
成立于2008年 。基于Git,提供协作式代码版本控制服务。
总部在旧金山。
Git是一种良好的、支持分支管理的代码管理方式,能很好地解决团队之间协作的问题。每个工程师在自己本地分支上开发,完成功能之后再将所有人的代码合并。
吉祥物
名称:Octocat。
起源
最早从Rails开发社区兴起,Github本身也是用RoR框架写的。
早期的Rails多人协作开发团队,在代码提交和协作时遇到了很多的麻烦。为了解决团队之间开发协作困难的这一个问题,创始人Scott和其他3个程序员朋友,决定完善一个基于Git的代码分支管理工具,用来帮助Rails项目本身的开发。
这个项目做完之后,很多程序员发现,这个工具不但很好用,而且有着非常友好的用户界面,容易上手和操作。于是Scott等几个人干脆建立了一个网站,名叫"Github"来专门提供类似的服务。
创始人:5人骨干小组。
Scott Chacon:GithubGit布道师,Pro Git作者等。此外,还经常参加各种会议和活动,包括在全球范围内为企业提供Git培训。
Tekkub:客户关系。
Melissa Severini:行政。
Kyle Neath:设计。
Ryan Tomayko:开发。
公司经历
2011.10.26:Github开源Camfire机器人Hubot。
2012.2.28:YC孵化项目Coderwall聚合你在Github等网站上的项目,打造属于Geek的"技术名片"。
2012.5.22:获得Andreessen Horowitz投资,1亿美金投资,估值达8亿。
2012.10.6:推出单独教学页面,通过网络及面对面实体模式教授协同编程。
2013.2.1:创投界奥斯卡 "Crunchies 2012"最佳创业公司称号。
2013.2.16:发布Boxen套件,帮助你一键备份和部署新电脑。
2014.1.10:收购基于Web的页面设计工具Easel。
客户
KPI:注册用户突破400万,托管项目超过800万个。
商业模式:Freemium模式。免费用户能够进行项目代码托管,但是只能使用公共仓库。付费用户能够在Github上托管私人的库。
Github基本功能
Repository
分为公共仓库和私人仓库。仓库包含了所有的:版本、分支、标记信息。
Explore
发现、查看、研究Github上公共仓库中托管的代码项目。
Gist
有版本控制的代码粘贴服务,由此可以方便地共享文本或代码。
Blog
个人博客,只要向Github提交Commit就能发布新文章。
Watch
将感兴趣的仓库加入关注列表,如果所关注的仓库有更新会动态的进行邮件通知。
Star
一种更新的方式管理你所感兴趣的仓库的记录,任何之前预览过的仓库都能在其页面中找到。
Fork
最重要的功能之一,克隆别人仓库的代码到自己的项目中。可以作为子模块的形式使用,或二次开发。
Github项目前10名(根据Star数)
bootstrap:The most popular front-end framework for developing responsive, mobile first projects on the web,66640
jquery:JavaScript Library,30328
node:evented I/O for v8 javascript,28908
html5-boilerplate:A professional front-end template for building fast, robust, and adaptable web apps or sites,24871
d3:A JavaScript visualization library for HTML and SVG,24483
angular.js:http://angularjs.org,22589
Font-Awesome :The iconic font designed for Bootstrap,22060
rails:Ruby on Rails,21436
impress.js:It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com,19852
backbone:Give your JS App some Backbone with Models, Views, Collections, and Events,17611
homebrew:The missing package manager for OS X,16755
我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。
在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此,群众也仅限于报个bug,即使能改掉bug,也只能把diff文件用邮件发过去,很不方便。
但是在GitHub上,利用Git极其强大的克隆和分支功能,广大人民群众真正可以第一次自由参与各种开源项目了。
如何参与一个开源项目呢?比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone:
git clone git@github.com:michaelliao/bootstrap.git
一定要从自己的账号下clone仓库,这样你才能推送修改。如果从bootstrap的作者的仓库地址git@github.com:twbs/bootstrap.git克隆,因为没有权限,你将不能推送修改。
Bootstrap的官方仓库twbs/bootstrap、你在GitHub上克隆的仓库my/bootstrap,以及你自己克隆到本地电脑的仓库,他们的关系就像下图显示的那样:
如果你想修复bootstrap的一个bug,或者新增一个功能,立刻就可以开始干活,干完后,往自己的仓库推送。
如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了。
小结
在GitHub上,可以任意Fork开源仓库;
自己拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码。