W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

Git 简介



Git 发展历史

Linux 之父 Linus Torvalds 在1991年创建了 linux 开源项目,并把项目放在互联网上,引来世界大量的黑客&大神为项目贡献代码。

问题是这么多的人同时贡献代码,如何管理代码成了一件头疼的事。

随着 linux 内核的管理工作越来越吃力,linus 选择了一款商业版本控制器 - BitKeeper。BitKeeper 是 BitMover 公司旗下的产品,公司的老大 Larry 也希望借机扩大产品的影响力,因此授权 Linux 社区免费使用 BitKeeper。这件事,在开源圈引起了不小的骚动。因为,BitKeeper 只是 free(免费), 而非 free(自由)。开源教主 RMS 为这事儿还说过 linus。

2002年2月,Linus 开始用它来管理 Linux 内核代码主线,Linus 对 BitKeeper 的评价是 the best tool for the job。确实,自从 Linus 使用 BitKeeper 之后,Linux 的开发步伐加快了两倍。可惜的是,就像黑帮电影中,老大蒸蒸日上的事业,往往坏在一个不懂事的小弟手中。这帮视 free(自由)如信仰的牛人中,一个叫 Andrew 的,试图破解 BitKeeper 的协议,且被BitMover公司警告几次后仍不停手。最终,出事了!

Linus 在 Andrew 和 Larry 两人间费力调停,但没有成功。既如此,Linus说:"我的兄弟只是做错事不是做坏事,我扛!"于是 ,10天后,Git诞生了!


Git 与 SVN的区别

Git 与 SVN的区别主要如下:

  • Git属于分布式,SVN属于集中式;
  • Git把内容按元数据方式存储,而SVN是按文件;
  • Git分支和SVN的分支不同;
  • Git没有一个全局的版本号,而SVN有;
  • Git的内容完整性要优于SVN;

下图为Git版本管理器的工作方式:

图解Git版本管理器的工作方式

每个开发者的电脑上,都有完整的版本、日志及分支信息。但开发者不依赖于服务器,可以查看日志、回退版本、创建分支等。


下图为SVN版本管理器的工作方式:

图解SVN版本管理器的工作方式

在中心的SVN服务器中,存储着代码版本的变迁及日志。如果你想查看改动日志、版本或分支等,请联网SVN服务器才能查看。