目录
- 分布式与集中式
- 存储方式不同
- 全局版本号
- 内容完整性
- 分支的管理
一直又说要好好的学习一下git,刚好现在让研究一下,自己现在基本对这两个软件都有使用,看看别人的总结,让自己吸收一下知识。
分布式与集中式
git的版本管理是分布式的,svn是集中式的
svn所有人的代码都只存在一份,在中央服务器上,代码的上传、更新、日志、还原等等一系列的操作都在基于这个库的。这个库管理和记录着这个开发者对这个项目的所有操作。
git是分布式管理版本,在每一个开发者的本地都存在一个本地库,这个库记录着你的所有操作,所以无网络的状态也不会影响你对自己代码版本的管理。至于代码的同步,它也存在者一个中央版本库,通过本地库和远程库(中央库)的交互来实现代码的同步。
存储方式不同
svn的存储方式是按照文件,git是按照元数据。
所以这是不是让Git发生冲突的概率更小呢,当发生冲突的时候Git会比较好还原
元数据:元数据是数据的数据,例如分布式存储的路径、存储量、变更、新增、删除等等。(meta data)
全局版本号
Git没有一个全局版本号,而SVN有
内容完整性
Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
分支管理
由于存储方式不同导致分支管理也不同,在分支管理上,svn是文件存储,每个分支都是一个完整的目录拷贝,而git记录的却是meta文件