1、在服务器安装svn
输入命令:
yum install subversion
中间会有个确认,输入y即可。
查看版本,输入命令:
svnserve --version
2、创建版本库
我创建在了/usr/svn/terqs这个路径下,输入命令:
svnadmin create /usr/svn/terqs
会生成以下文件:
subversion目录说明:
- db目录:就是所有版本控制的数据存放文件
- hooks目录:放置hook脚本文件的目录
- locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
- format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
- conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
3、修改配置
进入配置文件目录:
①添加svn用户
进入conf文件夹后,打开passwd文件:
输入“i”进入vim命令的编辑模式,添加用户名和密码,格式为“username=password”,如下图(注意行前的注释“#”要删除):
输入完成后,按Esc退出编辑模式,再输入":wq"保存并退出。
②设置权限
同样在conf文件夹中,authz文件:
输入“i”后进入编辑,相关配置,参考(linux下svn用户权限分配详细说明):
[groups] #标签后表示权限分配的内容
g_admin = admin #分配admin用户在g_admin组中
g_java = zhangsan,lisi #分配张三,李四用户在g_java组中
[/] #[/]表示是svn根目录,标签后的用户拥有根目录权限
@g_admin = rw #分配给g_admin用户组根目录的读写权限
admin = rw #分配读写权限给admin用户,为单个用户分配权限
* = r #没有分配权限的用户拥有读的权限
[/code/java] #[/code/java]是svn下的源码存放路径
@g_java = rw #分配java源码路径的读写权限给java组的人
zhangsan = rw #分配读写权限给zhangsan 用户,为单个用户分配权限
lisi = rw #分配读写权限给lisi 用户,为单个用户分配权限
同上Esc后保存并退出。
③svn设置
同样在conf文件夹中,svnserve文件,注意这个文件后要加.conf的后缀:
配置参考第②步中的链接,就是将这几条被注释的释放注释:
anon-access = none #不允许匿名用户访问
auth-access = write #通过验证的用户可以读和写
password-db = passwd #用户与密码对应的数据保存在passwd文件中
authz-db = authz #权限的信息保存在文件authz中
注意要顶格,不要留空格,否则会报错:
同上Esc后保存并退出。
4、启动测试
启动svn,输入以下命令(/usr/svn/terqs即为你创建的版本库):
svnserve -d -r /usr/svn/terqs
查看svn状态,输入以下命令:
ps aux | grep svnserve
5、配置服务器安全组
步骤参考之前的笔记,详细配置如下:
6、项目检出
安装TortoiseSVN(百度官网),安装完成后在要存放项目的位置新建文件夹,名称为项目名称,右键-svn checkout,弹窗如下图:
地址svn://服务器ip地址:3690,检出后将项目代码放入该文件夹,再右键-svn commit,输入之前在passwd文件中配置的用户名和密码,即可提交到服务器