先进技术GIT与GITHUB
GIT是一个分布式的版本控制系统,最初应用在Linux上的现在Windows下也可以用而且Wins下有图形用户界面操作更简单更容易上手。
GITHUB是一个基于GIT的项目托管平台,它提供了web界面,你可以在上面创建资源仓库来存放你的项目。在本地或服务器创建一个资源仓库通过shell命令或图形用户界面可以和远端的GITHUB进行项目同步更新,实现对项目的管理。
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
GIT是分布式的,这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。
GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提 交文件,查看历史版本记录,创建项目分支等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。
而DITHUB作为开源代码库以及版本控制系统,GITHUB拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,GITHUB已经成为了管理软件开发以及发现已有代码的首选方法。
GITHUB如前所述,作为一个分布式的版本控制系统,在GIT中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
GITHUB可以托管各种GIT库,并提供一个web界面,但与其SourceForge或Google Code这样的服务不同,GITHUB的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将称为代码玩家的MySpace。
在GITHUB进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。
GITHUB项目本身自然而然的也在GITHUB上进行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,GITHUB的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。
是的,正是这么计划的。通过与客户的接洽,开发FamSpam,甚至是开发GITHUB本身,GITHUB的私有库已经被证明了物有所值。任何希望节省时间并希望和团队其它成员一样远离页面频繁转换之苦的人士都会从GitHub中获得他们真正想要的价值。并且在GITHUB中,用户可以十分轻易地找到海量的开源代码。