打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Git和Svn的区别
Git和Svn的区别 Git(分布式版本控制系统)Svn(集中式版本控制系统)
定义 Git是目前世界上最先进的分布式版本控制系统。SVN是Subversion的简称,是一个开放源代码的版本控制系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
工作流程
1.写代码
2.提交到本地版本库
3.从服务器拉回服务器的当前版本库,并解决服务器版本库与本地代码的冲突
4.将远程库与本地代码合并结果提交到本地版本库
5.将本地版本库推到服务器
1.写代码
2.从服务器拉回服务器的当前版本库,并解决服务器版本库与本地代码的冲突
3.将本地代码提交到服务器
是否有中央服务器
没有中央服务器,开发人员本地都有 Local Repository
有。开发人员需要从中央服务器获得最新版本的项目然后在本地开发,开发完推送给中央服务器。因此脱离服务器开发者是几乎无法工作的
网络依赖
分布式在没有网络的情况下也可以执行commit、查看版本提交记录、以及分支操作,在有网络的情况下执行 push 到 Remote Repository。
必须要联网才能工作,而且对网络的依赖性较强,如果推送的文件比较大而且网络状况欠佳,则提交文件的速度会受到很大的限制。
文件存储格式
按照元数据方式存储,体积很小
按照原始文件存储,体积较大
分支操作影响
分支操作不会影响其他开发人员
创建新的分支则所有的人都会拥有和你一样的分支
提交过程
提交是本地操作,需要执行push操作才会到主要版本库
提交的文件会直接记录到中央版本库
优势
1.分布式管理:Git是没有中心服务器的,每个人机器上都是一个完整的库
2.离线工作:(1)断网提交至本地库(2)本地回滚
3.分支策略:在Git实际开发中分支的分离和合并是属于日常操作,开启和合并分支成本相比SVN要小得多:SVN是复制一份代码到分支目录,Git则是在分支点做一下标。
1.集中式管理,管理方式在服务端配置好,客户端只需要同步提交即可,使用方便,操作简单,很容易就可以上手
2.在服务端统一控制好访问权限,利用代码的安全管理。
3.所有的代码以服务端为准,代码一致性高。
缺点
1.模式上比SVN更加复杂
2.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息
1.所有操作都需要通过服务端进行同步,这会导致服务器性能要求比较高。如果服务器宕机了就无法提交代码了。
2.分支管理不灵活,svn分支是一个完整的目录,且这个目录拥有完整的实际文件,这些操作都是在服务端进行同步的,不是本地化操作,如果要删除分支,也是需要将远程的分支进行删除,这会导致大家都得同步
3.需要连网,如果无法连接到服务器就无法提交代码
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SVN与Git比较
Git使用基础篇
SVN和Git对比梳理
Java工具面试题:版本控制工具
[译] 关于 Git 你需要知道的一些事情
史上最全的主流java开发工具(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服