百度百科:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
—————————————————————————————————————————————
还有一个简单但不十分精确比喻: SVN = 版本控制 + 备份服务器
简单的说,就是把SVN当成备份服务器,用来记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。
其实个人感觉它像是一个数据库的变种,只不过里面存放的是每个阶段的程序。大家一起操作着、维护着这个“数据库”,记录每一次的操作,记录每一个提交的“数据”。SVN,一个为多人开发程序量身定做的工具。
·备份资料 → 和数据库的数据备份类似,我们都有各种方法把资料弄没,备份的存在就可以完美解决这个问题。
·版本控制 → 我们需要每一个阶段的版本,它们都有重要参考意义。而且我们也需要犯错可以后悔的机会。
·同步数据 → 我们不能总是面对面交流,我们也不能无限的e-mail,我们需要一个合作的平台。
·利用资源 → 资源总是有限的,合理的保存才能高效的利用我们有限的存储资源。
这里从我们的角色出发可以划分为:软件开发人员和项目组长
开发人员:掌握 Add、Commit、Update、CheckOut等,以及解决冲突
项目组长:初开发人员掌握的外,还应有权限控制、分离/合并库、转移库等
当然每个角色不仅局限与此,只是简单说明一下常用的功能,我们应该尽可能熟练的使用工具,同时也要注意效率。
SVN对于我们项目开发是一个很好的工具,可以很好的提高团队的合作效率,避免不必要的人力、时间与精力的浪费。对于管理人员也是很好的一个控制开发的工具。
当然,好的工具不能只限于了解。在之后的项目中,一定要多多尝试使用,留心观察,这也是一种很好的学习方式。