Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理各种规模的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一款开源版本控制软件。Git 与常用的版本控制工具 CVS、Subversion 等不同,它采用分布式版本库的方式,不需要服务器端软件的支持。

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 哈希算法,这能确保代码内容的完整性,在遇到磁盘故障和网络问题时,可以降低对版本库的破坏。

区别图示

Git 与 SVN 区别如下图: