栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Subversion(Svn)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Subversion(Svn)

1. SVN是什么

SVN 是 Subversion 的简称,是一个开源的版本控制系统,CVS的接班人,目前绝大多数公司都是用 SVN 作为版本控制软件
相关概念

SCM: 全称是 Software Configuration Management,即软件配置管理,意思就是对软件的源代码进行控制与管理
为什么需要SVN

SVN 可以用于协作开发、远程开发和版本回退

2. SVN的优缺点

优点

  • 管理方便,逻辑明确,符合一般人思维习惯
  • 代码一致性和安全性非常高
  • 适合开发人数不多的项目开服
  • 操作简单,入门容易,支持跨平台(Windows、Linux、MacOS)
  • 支持版本回退功能(时间机器)
  • 属于 C/S 结构的软件,因此使用 SVN 需要分别安装客户端和服务端

缺点
服务器压力大,SVN 数据库容易暴增
如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交、还原、对比等等
不适合开源开服(开发人数非常非常多)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题

3. SVN优于CVS的区别

客户端软件: TortoiseSVN 和 VisualSVN

服务端软件: Subversion 和 VisualSVN Server

  • 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏
  • 重命名、复制、删除文件等动作都保存在版本历史记录当中
  • 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
  • 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录
  • 分支的开销非常小
  • 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量

svn下载

svn客户端
https://www.visualsvn.com/visualsvn/download/tortoisesvn/

svn服务端
https://www.visualsvn.com/server/download/

4. svn工作流程

从服务器下载项⽬组最新代码。(Checkout)
如果已经Checkout并且有⼈已Commit了代码,你可以更新以获得最新代码。(Update)
进⼊⾃⼰的分⽀,进⾏⼯作,每隔⼀个⼩时向服务器⾃⼰的分⽀提交⼀次代码(很多⼈都有这个习惯。因为有时候⾃⼰对代码改来改去,最后⼜想还原到前⼀个⼩时的版本,或者看看前⼀个⼩时⾃⼰修改了哪些代码,就需要这样做了)。(Commit)
下班时间快到了,把⾃⼰的分⽀合并到服务器主分⽀上,⼀天的⼯作完成,并反映给服务器。(Commit)
注意: 如果两个程序员同时修改了同⼀个⽂件, SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以⾏为单位的,就是说两个程序员只要不是修改了同⼀⾏程序,SVN都会⾃动合并两种修改。如果是同⼀⾏,SVN会提示⽂件Confict, 冲突,需要⼿动确认

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324409.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号