git和svn 的区别

一:svn :

集中式的数据管理,存在一个中央版本库。所有开发人员本地开发所以用的代码均来自这个版本库,提交代码也必须提交到这个中央版本库中。

svn的版本控制流程如下:

1:在中央库中常见或从主干复制一个分支;

2:从中央库checkout下这个分支的代码;

3:增加自己的代码文件,修改现存的代码或删除代码文件;

4:commit代码,如果有人在刚刚的分支上提交了代码,你的commit 会提示代码过期,需要你现up你的代码在提交,如果出现冲突,解决完冲突在提交代码。

使用缺点:

1:需要局域网配合,若断网,则无法提交和更新代码;

2:代码集中管理,需要对中央版本库进行备份,以防版本出现混乱失控的情况。备份是要备份所有的代码数据以及所以更改的版本记录;

3:容错性差。

二:git 

git :分布式的版本控制,由Linux 开发,每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库,创建自己的分支,并进行开发操作,减少冲突,即使是无网络的环境,也能提交代码,查看版本,查看提交记录等。

三:svn 和git 的区别

git svn
分布式 集中式
内容按照元数据方式存储, 按照文件存储
同一目录下可以有多个分支,代码合并分支简单 分支不能放在同一个目录下,需要另外目录管理,需要手工合并分支
git 没有全局版本号 存在全局版本号
存储内容使用sha-1哈希算法,代码内容较为完整 svn是按项目集中进行管理,按目录进行分类管理(需求分析,设计、美工、测试、代码等等),适合于项目管理
git 下载,不联网也可以看log svn 需要联网
直接合并,解决冲突简单 commit 代码前,需要钱update一下,直接合并可能会覆盖其他人的代码

猜你喜欢

转载自blog.csdn.net/lengyue1314/article/details/121222374