Git与SVN的区别

1.SVN优缺点

特点:

1、每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;
获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;
2、提交必须有网络连接(非本地版本库);
3、提交需要授权,如果没有写权限,提交会失败;提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;
4、冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。

优点:
1、 管理方便,逻辑明确,符合一般人思维习惯。
2、 易于管理,集中式服务器更能保证安全性。
3、 代码一致性非常高。
4、 适合开发人数不多的项目开发。
缺点:
1、 服务器压力太大,数据库容量暴增。
2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
3、 不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

2.Git优缺点

特点:

1、Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。
2、Git的每一次提取操作,实际上都是一次对代码仓库的完整备份。
3、提交完全在本地完成,无须别人给你授权,你的版本库你作主,并且提交总是会成功。甚至基于旧版本的改动也可以成功提交,提交会基于旧的版本创建一个新的分支。
4、Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成。
5、冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决。
6、Git 也可以模拟集中式的工作模式
7、Git版本库统一放在服务器中
8、可以为 Git 版本库进行授权:谁能创建版本库,谁能向版本库PUSH,谁能够读取(克隆)版本库
9、团队的成员先将服务器的版本库克隆到本地;并经常从服务器的版本库拉(PULL)最新的更新;
团队的成员将自己的改动推(PUSH)到服务器的版本库中,当其他人和版本库同步(PULL)时,会自动获取改变
10、Git 的集中式工作模式非常灵活,你完全可以在脱离Git服务器所在网络的情况下,如移动办公/出差时,照常使用代码库。你只需要在能够接入Git服务器所在网络时,PULL和PUSH即可完成和服务器同步以及提交
11、Git提供 rebase 命令,可以让你的改动看起来是基于最新的代码实现的改动
Git 有更多的工作模式可以选择,远非 SVN可比

优点:
1、适合分布式开发,强调个体。
2、公共服务器压力和数据量都不会太大。
3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。
缺点:
1、学习周期相对而言比较长。
2、不符合常规思维。
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

3.详细对比

GitSVN
分布式非分布式
按元数据方式存储按文件
无全局版本号有全局版本号
内容的完整性高内容的完整性低
离线状态可看到所有日志无法离线看到所有日志
无限制必须先Update才能Commit
只是获取文件的每个版本的元素,然后只载入主要的分支(master)克隆操作重复执行
每一个Git都是一个版本库,区别是它们是否拥有活跃目录(Git Working Tree)只能有一个指定中央版本库
可以任意在自己的本地版本库开啟无限个分支分支是一个完整的目录
Git的提交完全属於本地版本库的活动。而你只需“推”(git push)到主要版本库提交时,它将直接记录到中央版本库

参考资料
https://www.cnblogs.com/hiop/p/10460250.html
https://www.cnblogs.com/Sungeek/p/9152223.html
https://blog.csdn.net/lidew521/article/details/72859508
https://www.cnblogs.com/mtl-key/p/6902666.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值