总结:SVN与GIT的区别
来源:互联网 发布:2017网络营销发展数据 编辑:程序博客网 时间:2024/06/01 09:45
SVN:是一款集中式源代码管理工具
SVN:代码控制器(版本控制器),主要是为了多人协同开发项目,管理代码。也可以管理个人代码。也叫程序界的”后悔药“。
SVN(是subversion的简称)是近年来一款基于C/S架构的,非常优秀的版本控制器(可以简单的理解为管理代码的工具,在多人协同开发的时候,尤其重要),与传统的CVS(90年代左右,一个非常优秀的代码管理器,是代码管理器的鼻祖)管理工具类似。
SVN可以随着时间的推移来管理各种数据,这些数据被放置在一个SVN管理的中央仓库(所有的代码的集合)里面。同时SVN会备份并记录每个文件每一次的修改更新变动。这样就开发者就可以回归到任何一个时间点的某一个旧的版本(对于SVN,没修改一次文件,SVN就会创建一个叫做版本的概念,是从0 开始自增的序列)。当然也可以指定文件的更新历史记录(index.php)。
SVN又叫做集中式版本控制器。严重的依赖服务器端,当服务器端无法使用的时候,版本控制也就无法再使用了。
svn工作流程图
GIT:是一款开源的分布式版本控制工具
Git是目前世界上最先进的分布式版本控制系统(没有之一)。 当这个系统的任何一个客户端出现问题的时候,都可以从另外的客户端(即使服务器挂了)获取所有的代码。
SVN与GIT的具体区别:
1.GIT是分布式的,而SVN是集中式的
2.GIT把内容按元数据方式存储,而SVN是按文件:因为git目录是处于个人机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
3.GIT分支和SVN的分支不同:svn会发生分支遗漏的情况,而git可以同一个工作目录下快速的在几个分支间切换,很容易发现未被合并的分支,简单而快捷的合并这些文件。
4.GIT没有一个全局的版本号,而SVN有
5.GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
集中式和分布式的区别:
集中式版本控制系统:版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。集中式版本控制系统最大的毛病就是必须联网才能工作。
分布式版本控制系统:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
为了方便“交换”大家的修改,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但没有它大家也一样干活,只是交换修改不方便而已。
分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
0 0
- Svn与Git的区别总结
- 总结:SVN与GIT的区别
- svn与git的区别(总结)
- SVN与Git的区别
- Git与svn的区别
- Git与svn的区别
- git与SVN的区别
- git与svn的区别
- Svn与Git的区别
- Git与SVN的区别
- git 与svn的区别
- svn与git的区别
- Svn与Git的区别
- svn与git的区别
- Git与SVN的区别
- Svn与Git的区别
- Git与SVN的区别
- SVN与GIT的区别
- ABAP动态参数调用FBL3N FBL4N
- tabBar凸起文档收藏
- (可再看)hxy系列10-细说卷积神经网络
- 解读开源js函数的收获
- loadrunner 多台压力机并发
- 总结:SVN与GIT的区别
- CentOS 6.5下yum安装 MySQL-5.5全过程图文教程
- Spring Boot 官方文档学习(一)入门及使用
- Spring客户端对Redis 缓存的使用(Java客户端等Redis3.X RedisCluster模式的支持)
- 字符串 String
- Z-Stack Developer's Guide - Binding & Routing
- mysql select into outfile 语法 乱码问题
- rabbitmq client 自编译
- spring框架学习(八)—静态代理、JDK与CGLIB动态代理、AOP+IoC