基于SVN的SCM简单总结

一、SCM

1、SCM的初步理解

SCM,Software Configuration Management,也称为版本管理软件,记录并控制软件产品数据和团队协作的管理工具。目前个人的代码管理习惯,从原来的copy备份,演进到了用Git来管理自己的一些代码,Eclipse上就自带了Git的插件。Git其实就是一种SCM。

2、Why SCM

  • 了解文件的修改过程、修改位置
  • 使用ant、maven等自动化工具makefile时出现版本的make错误
  • 程序的备份,使误删操作有了补救的可能
  • 统一管理版本的编号与更替
  • 项目的团队协作及项目各个模块代码的整合

3、SCM要解决的问题

  • Multiple developers working on same code on the same time
  • Multiple platform support
  • Multiple version
  • Multiple platform development environment

4、SCM主要功能

  • Version Control
  • Resource Control And Save
  • Process Control
  • Build & Release System
  • Requirement Management
  • Coordinative Work

5、CMM与SCM

CMM,Capability Maturity Model for Software。CMM有五个等级分别是

  • Initial 初始化
  • Repeatable 可重复
  • Defined 定义
  • Managed 管理
  • Optimized 优化
    CMM对SCM提出了要求

6、Version Control Basic Concepts

  • Repository
    数据仓库
  • Workspace
    可根据仓库数据构建所需工作空间,相互分离(Isolated)
  • Delta/Version/Revision
    Delta即差别。SCM不应该每次保存各个Version的全部文件数据,而是应该记录各个Version之间的变化。
    对于Delta有两种存储模型,forward delta是基于旧版本的数据记录变化,backward delta是基于最新版本的数据记录变化。显然backward delta更符合开发习惯。
  • Branch
    分支。分支同样有两种类型,File Based Branch(基于文件的分支)和Project Based Branch(基于项目的分支)。

7、Build & Release System

  • Automatic Building
    • makefile –> ant/maven
  • Nightily Build Support
  • QA/Test


二、SVN

1、下载

前往SVN官网勾选server端,选择所需版本,会指引前往Apache Subversion(Apache就是牛),再前往TortoiseSVN下载所需客户端,注意根据电脑选择32/64位版本。安装即可。

2、server基本使用

  • 这里展示的是Windows端使用,linux大同小异。在cmd敲svn,若出现如下语句说明安装成功。
    使用“svn help”得到用法
  • 创建仓库,进入到指定目录,敲svnadmin create svnrepo
  • 修改权限配置。进入仓库文件夹的conf目录,找到svnserve.conf(svn服务器配置文件),将password-db = passwd这项配置打开。
  • 添加权限账户。打开同一目录下passwd文件打开,在最后添加用户及密码,如u1=p1
  • 启动服务器,敲svnserve -d -r svnrepo。-d表示后台运行,-r表示超级权限运行。

3、client基本使用

  • 安装完成后双击TortoiseSVN图标会提示“TortoiseSVN is a shell extension”。即TortoiseSVN并没有提供客户端窗口,而是通过shell(cmd)的命令执行。实际上,TortoiseSVN还有另一种方式操作,在文件夹右键菜单可出现TortoiseSVN相关操作。
  • 首先要理解两个概念,站在Client角度,从Client端从Server端取代码称之为check in,亦称为Commit,从Server端取代码到Client端称之为check out。
  • 在文件夹下,右键选择TortoiseSVN -> repo-browser,输入对应的SVN Server端SVN地址,则可以链接并读取远程代码。在自己机器上做实验时,输入svn://localhost即能连接到本地server。
  • 从Server端check out数据下来后,一旦对内容进行更改,首先右键Add,将所要保存到Server端的文件勾选,Finish。接着再在文件夹下右击,会出现SVN Commit选项,填写提交信息,输入用户密码即可提交到Server端。
  • 前往subclipse下载SVN的eclipse插件,基本操作与Git相同,不再赘述。

你可能感兴趣的:(JavaEE)