github,已经不是什么新东西了,许多人都在预言它将成为新时代的版本控制器.如果,你还不知道,你可以通过这个网址:https://github.com/ 来认识它.
刚开始接触它的时候,觉得它总体版面有些乱,可能是全英的关系,对这些字符有些抵触.后来从注册,到使用,发现原来是这样的简便.just follow it...you can see the details in the GitHub Bootcamp.
跟着它一步步走下去,相信你开始github并不难.
最近看了《鸟哥的私房菜》,里面讲了linux的历史。里面比较有意思的是,史托曼开发出Emace,gcc,并把它们放在了GPL(通用公共许可证)的保护下,从而避免了它们沦为收费软件,到后来的GNU计划,托瓦兹开发出linux。。。一切的一切都是离不开一个美好的想法。一个开源的软件将会有许多人下载查阅,软件的漏洞和程序的优化会进展很快。在安全性和效能上面就会比较有保障。这无形中就会有一票子人帮你查错了,不仅壮大了团队,还有程序。
我不知道github是不是延续这样的想法。只是github里的代码大多是开源的,让我觉得或许有一天,也会有像linux这样优秀的程序会在这里出现,有很多人follow;很多人查看它的sources;很多人会提出自己的建议给开发者;有自己想法的人提交自己开发出的新功能;会有人去fork它回来,然后自己进行新的修改,成为更适合自己使用的产品;当然,你还可以成为项目的一员,和团队共同努力,而你们可能相距万里之远。
github让这一切成为可能。
下面说一下它的新特性,或者说它和其它版本控制器不同的地方吧。
1)快照,非比较差异
像SVN这些版本控制器,它们仔细记录着,你改变了哪些文件,哪些地方。而github只关注你的整体是否发生变化,它用快照记录着你文件的样子。每次更新,它就会新建一个快照,并把索引指向它。为了节省空间,当你的文件并没有发生变化的时候,它不会建立新的快照,而是指向先前的快照。
2)本地执行
不同于把数据库放在网上的其它版本控制器,在github,你可以很轻松的不断update,而不用担心没有网络这个问题,而你也可以在你的客户端看到自己的更新信息。等到有网络的时候,你只要把你更改的内容push到远程的镜像仓库中。这是因为绝大多数操作都只需要访问本地文件和资源,git在本地磁盘中保存在所有有关当前项目的历史更新。
3)数据完整性
保存到git之前,所有数据都要进行行内校验和计算,使用SHA-1的哈希值作索引。
4)clone
git收取的历史项目的所有数据(每一个文件的每一个版本)。所以就算服务器上面挂了。你还是可以通过从客户端克隆来的版本重建仓库。
5)分支
git鼓励在工作流程中频繁使用分支与合并。
对哦,说说它的盈利模式吧。它目前对个人开源项目是免费,但是有空间大小限制。它对不开源的项目进行收费,提供代码托管服务,目前其个人代码托管服务为每月7美元,带有防火墙的企业托管服务则需要每月至少5000美元。