svn 版本控制器介绍

1.svn简介

    subversion简称svn,subversion是实现版本控制的一种工具软件,是apache基金会组织的一个开源软件。

2.svn的解决的实际问题

  • 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流——需求之一:备份
  • 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?需求之二:代码还原
  • 小刚和小强先后从文件服务器上下载了同一个文件:Analysis.java。小刚在Analysis.java文件中的第30行声明了一个方法,叫count(),先保存到了文件服务器上;小强在Analysis.java文件中的第50行声明了一个方法,叫sum(),也随后保存到了文件服务器上,于是,count()方法就只存在于小刚的记忆中了——需求之三:协同修改
  • 老许是一位项目经理,我会告诉你他把每一个版本都保存一份吗?我会告诉你这些工程里其实有很多文件都是重复的吗?我会告诉你老许为这事删了很多电影吗?——需求之四:多版本项目文件管理
  • 老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!就拿这次来说吧,有个该死的Bug调试了30多个小时才知道是因为相关属性没有在应用初始化时赋值!可是二胖、王东、刘流和正经牛都不承认是自己干的!——需求之五:追溯问题代码的编写人和编写时间
  • 小温这两天幸福的如同掉进了蜜罐里,因为他成功的得到了前台MM丽丽的芳心,可他郁闷的是这几天总是收到QA小组的邮件,要求他修正程序中存在的Bug,可他自己本地电脑上是没有这些Bug的,“难道我的代码被哪个孙子给改了?”。是的,小温没来的时候,丽丽是QA小组小郑的女朋友啊!——需求之六:权限控制

3.svn的工作原理

    svn是采用客户端/服务器(b/s),服务器的版版本库种储存了项目的各个版本,程序员可以从版本库中检出整个项目作为本机的一个副本使用,svn支持程序员将自己的整个工作副本更新至版本库,也支持将本地副本的最新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而是作为一个新的版本被保存下来——SVN甚至支持将本地工作副本恢复为服务器端保存的某一个历史版本。

4. svn三大操作

5.配置版本库

    创建文件夹作为版本库,例如D:\SvnRepository,将D盘的 SvnRepository作为根目录,在SvnRepository中创建一个新的项目OA和CRM文件夹,例如D:\SvnRepository\OA和D:\SvnRepository\CRM。创建版本库的命令:svnadmin create +仓库路径

例如:svnadmin create D:\SvnRepository\OA 。此时OA就成为了一个项目的版本库,版本库架构为:

  1. 检出(checkout)将服务器新创建的项目下载到本地,这一般是项目组建后的第一步,只需执行一次。
  2. 更新(update)将本地文件与服务器项目的最新版本保持一致,通常在上班时或者在公共文件被修改时执行。
  3.  提交(commit)将本地修改提交到服务器,一般是在自己负责的板块或者项目完成是提交。

  

6. 启动服务器端程序

    命令:svnserve -d -r +仓库路径 

    例如:svnserve -d -r D:\SvnRepository\OA

    

猜你喜欢

转载自blog.csdn.net/IPI715718/article/details/83025171