Git

SVN和Git的区别

talk about svn and git

Posted by Jow on April 11, 2019

目录

  1. 分布式与集中式
  2. 存储方式不同
  3. 全局版本号
  4. 内容完整性
  5. 分支的管理

一直又说要好好的学习一下git,刚好现在让研究一下,自己现在基本对这两个软件都有使用,看看别人的总结,让自己吸收一下知识。

分布式与集中式

git的版本管理是分布式的,svn是集中式的

svn所有人的代码都只存在一份,在中央服务器上,代码的上传、更新、日志、还原等等一系列的操作都在基于这个库的。这个库管理和记录着这个开发者对这个项目的所有操作。

git是分布式管理版本,在每一个开发者的本地都存在一个本地库,这个库记录着你的所有操作,所以无网络的状态也不会影响你对自己代码版本的管理。至于代码的同步,它也存在者一个中央版本库,通过本地库和远程库(中央库)的交互来实现代码的同步。

存储方式不同

svn的存储方式是按照文件,git是按照元数据。

所以这是不是让Git发生冲突的概率更小呢,当发生冲突的时候Git会比较好还原

元数据:元数据是数据的数据,例如分布式存储的路径、存储量、变更、新增、删除等等。(meta data)

全局版本号

Git没有一个全局版本号,而SVN有

内容完整性

Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

分支管理

由于存储方式不同导致分支管理也不同,在分支管理上,svn是文件存储,每个分支都是一个完整的目录拷贝,而git记录的却是meta文件