1,安装SVN服务端
直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装)
- sudo apt-get install subversion
2,创建版本库
- svnadmin create /home/myrepos //这里的文件目录自己随便设置
3,配置svnserve
上述版本库/home/myrepos建立后在文件夹下会生成conf文件夹,进入/home/myrepos/conf下面会有下面3个文件
- authz passwd svnserve.conf
我们依次修改
3.1,svnserve.conf修改以下几个部分:
- anon-access = read
- auth-access = write
- password-db = passwd
- authz-db = authz
3.2,passwd修改为:
- [users]
- username = password //这里的username和password自己设置
3.3,authz最后加上以下两行(这两行解决了 SVN客户端解决authorization failed问题)
- [/]
- * = rw
4,启动svnserve即可:
- svnserve -d -r /home/myrepos/
lsof -i:3690
5,客户端使用:
客户端用svn或者windows下的TortoiseSVN客户端
5.1,从服务端checkout版本库(在当前目录下)
- svn checkout svn://服务器的ip地址/
5.2,自己增加一些文件,或者把之前的东西(如下面三个文件夹)拷贝到当前目录下,想让svn帮你管理
- code project document
5.3,假设我把上述三个文件夹放到当前svn的文件夹下想让svn管理,然后我要做的是添加到svn版本库里:
- svn add code project document //或者直接用svn add *
5.4,最后提交到svn服务器
- svn commit -m 'import three directories'
一定要对当前版本写注释。
创建版本库:
终端输入:svnadmin create [路径]
该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。
将文件导入版本库:
终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
例如将当前目录导入版本库myproject:
svn import /data/card file:///home/user/svn/myproject -m "导入文件" 导入文件没有就不写 但要写“”
从版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
终端输入:svn co [版本库路径] [导出目标路径]
例如将myproject库中的文件导出到当前目录:svn co file:///home/user/svn/myproject .