svn服务器
1.官方网站下载路径
到官网http://subversion.apache.org/
选择二进制文件安装包
2.选择对应的操作系统
(这里我选的是windows)
3.选择适应的安装文件
(前几个是和其他工具集成的,这里我不需要,直接用原生态的服务器)
4.下载页面
我们看到已经跳转了页面http://sourceforge.net/projects/win32svn/
直接点击download下载.
5.安装
双击刚才下得的文件
然后一系列的傻瓜式next就可以了(期间会叫你选某个apache版本,如没有使用apache,则随便勾选个就行)
6.查看安装
到cmd命令行,输入”echo /%path%/”查看环境变量
发现已经在安装过程中自动添加了进去
7.测试
输入svn help 得到如下提示信息
8.创建仓库
命令:svnadmin create D:\mysvn\repos
(注,一定是不含子目录和文件的空目录)
创建成功后,你的仓库目录里会是这样的结构
9.启动SVN服务
svnserve -d -r d:\mysvn\
特别注意,回车后看见光标一直在闪其他没任何反应就是启动成功了.
这是在后台启动的服务,千万不要关掉cmd窗口,要不然服务就停了,要执行其他svn命令需要开启第二个cmd窗口.
手动关掉服务,使用快捷键crtl+c
10.权限的分配
设计思路:
管理组:管理员(1个)拥有根目录下的读写权限
开发组:开发人员(3个)拥有repos目录下的读写权限
测试组:测试人员(3个)拥有repos目录下的只读权限
首先编写d:\mysvn\repos\conf\svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd.conf
authz-db = authz.conf
realm = repos
命令说明:
anon-access = read 匿名访问是只读
auth-access = write权限访问是读写
password-db = passwd.conf密码配置文件是当前目录下的passwd.conf
authz-db = authz.conf权限配置文件是当前目录下的authz.conf
realm = repos仓库名称是repos
注意,不提倡把中文注释写入配置文件,以免引起不必要的编码问题引起的配置无效.
其次编写权限文件d:\mysvn\repos\conf\authz.conf
##---------------------------------------------------
[groups]
manager = admin
devlopers = dev01,dev02,dev03
testers = test01,test02,test03
[/]
* =
@manager = rw
[repos:/]
* =
@manager = rw
@devlopers = rw
@testers = r
##---------------------------------------------------
命令说明:
Groups 权限组,当前我设了3个组,管理组manager,开发组devlopers,测试组testers
manager = admin 管理组有一个用户是admin
devlopers = dev01,dev02,dev03开发组有3个用户是dev01,dev02,dev03
testers = test01,test02,test03测试组有3个用户是test01,test02,test03
[/][repos:/]
根目录和repos目录下的权限配置,还可以细到无数层级的目录,例如
[repos:/foo/bar/…/…/…]
* = 代表的是非指定用户统一无任何权限访问
@manager = rw 代表的是管理组的用户是读写权限
@testers = r 代表的是测试组的用户是只读权限
最后编写一下密码文件d:\mysvn\repos\conf\passwd.conf
[users]
admin = 123456
dev01 = 123456
dev02 = 123456
dev03 = 123456
test01 = 123456
test02 = 123456
test03 = 123456
这个不多说了,=前面是用户,后面是密码
11. 导入项目原型到仓库
svn import d:\myproject svn://localhost/repos/myproject -m "" --username admin --password 123456
说明:用到的是SVN_HOME\bin下面的svn.exe执行
Import是将项目导入svn仓库,一般是管理员或项目经理在项目开始开发的时候做的第一件事情,这个是项目的原型,后面开发人员会checkout这个原型,不断开发提交自己的代码.
12. 获取原型
svn checkout svn://localhost/repos/myproject
注意:我在客户端换了路径为d:\svnco,模拟开发人员客户端获取服务器项目
可以看到获取的项目结构,含有一个隐藏的文件夹”.svn”
13.提交
我们手动添加了一个文件add.txt,现在要把它加入到svn服务器仓库资源里面
有两步:
① 先加到变更集里面
Svn status 表示查看我在当前路径” D:\svnco\myproject”下所做的所有修改
? add.txt 表示这个文件是我的操作产生的变动部分
Svn add add.txt 表示我把这个文件加入到我的变更集里面
② 提交变更集
Svn commit 提交命令 –m 本次提交的说明文字