Git简介

Git 简介

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,
不必服务器端软件支持


Git 的诞生

很多人都知道,Linus 在 1991 年创建了开源的 Linux,从此,Linux 系统不断发展,已经成为最大的服务器系统软件了。

  Linus 虽然创建了 Linux,但 Linux 的壮大是靠全世界热心的志愿者参与的,这么多人
在世界各地为 Linux 编写代码,那 Linux 的代码是如何管理的呢?

  事实是,在 2002 年以前,世界各地的志愿者把源代码文件通过 diff 的方式发给 Linus,
然后由 Linus 本人通过手工方式合并代码!
  你也许会想,为什么 Linus 不把 Linux 代码放到版本控制系统里呢?不是有 CVS、SVN
这些免费的版本控制系统吗?因为 Linus 坚定地反对 CVS 和 SVN,这些集中式的版本控制系
统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比 CVS、SVN 好
用,但那是付费的,和 Linux 的开源精神不符。

  不过,到了 2002 年,Linux 系统已经发展了十年了,代码库之大让 Linus 很难继续通
过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是 Linus 选择了一个商
业的版本控制系统 BitKeeper,BitKeeper 的东家 BitMover 公司出于人道主义精神,授权
Linux 社区免费使用这个版本控制系统。
  安定团结的大好局面在 2005 年就被打破了,原因是 Linux 社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发 Samba 的 Andrew 试图破解 BitKeeper 的协议(这么干的其实也不只他一个),被 BitMover 公司发现了(监控工作做得不错!),于是 BitMover 公司怒了,要收回 Linux 社区的免费使用权。

  Linus 可以向 BitMover 公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。
实际情况是这样的:
  Linus 花了两周时间自己用 C 写了一个分布式版本控制系统,这就是 Git!一个月之内,
Linux 系统的源码已经由 Git 管理了!牛是怎么定义的呢?大家可以体会一下。
  Git 迅速成为最流行的分布式版本控制系统,尤其是 2008 年,GitHub 网站上线了,它
为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub,包括 jQuery,PHP,Ruby
等等。
  历史就是这么偶然,如果不是当年 BitMover 公司威胁 Linux 社区,可能现在我们就没
有免费而超级好用的 Git 了。

Git 与 SVN 的区别

  1、GIT 是分布式的,SVN 不是:这是 GIT 和其它非分布式的版本控制系统,例如 SVN,
CVS 等,最核心的区别。
  2、GIT 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件
的元信息隐藏在一个类似.svn,.cvs 等的文件夹里。
  3、GIT 分支和 SVN 的分支不同:分支在 SVN 中一点不特别,就是版本库中的另外的一
个目录。
  4、GIT 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 GIT 缺少的最大
的一个特征。
  5、GIT 的内容完整性要优于 SVN:GIT 的内容存储使用的是 SHA-1 哈希算法。这能确保
代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏




原文地址:https://www.cnblogs.com/mingerlcm/p/11402921.html