事前准备

  1. 一台Linux服务器(用作SVN服务端)
  2. 一台Windows(用作SVN客户端)
  3. Windows客户端安装好SVN客户端,SVN下载
  4. Linux服务器Centos系统(本示例使用Centos示范)

Linux服务器

1.安装SVN
# yum -y install subversion
2.安装好了之后,新建一个svn目录
# cd /www/wwwroot/
# mkdir svn
# cd svn
# pwd
/www/wwwroot/svn

/www/wwwroot/svn 就是将来的svn目录

3.新建一个版本库
# svnadmin create /www/wwwroot/svn/yougou

进去可以看到创建了一个目录

# cd yougou
# ls
conf  db  format  hooks  locks  README.txt
# ls conf/
authz  passwd  svnserve.conf
# pwd
/www/wwwroot/svn/yougou

conf 目录下的passwd文件存储SVN账号密码,需要在这里设置账号密码才可拉取仓库文件
conf 目录下的authz文件存储用户权限
conf 目录下的svnserve.conf 配置文件

/www/wwwroot/svn/yougou 目录就是版本库目录,如果有多个项目,建议一个项目一个版本库
即svnadmin create /www/wwwroot/svn/yougou1 ; svnadmin create /www/wwwroot/svn/yougou2 这样建立多个版本库。

4.导入项目到版本库
# svn import 需要导入的项目文件夹/ file:///www/wwwroot/svn/yougou -m “随便注释”

导入完成后版本号为 1

注意,完成导入后,原目录 需要导入的项目文件夹/ 并不转换为“工作副本(working copy)”,而且该项目已经转由该仓库接管,即该仓库中已经包含了首次导入的工程的所有信息,与源目录 需要导入的项目文件夹/ 再无任何关系,我 们完全可以删除这一目录而不必担心丢失工程项目数据。注意,如果源目录并不是一个“工作副本”,那么就无法用svn进行管理,在其中所作的任何变动都无法 提交到仓库。
要用subversion对工程进行版本管理,那么工程项目的开发必须在一个“工作副本”中进行,即首先要从仓库获取一个“工作副本”。

# rm -rf 需要导入的项目文件夹/
#在本次示例中的地址为
# rm -rf /www/wwwroot/yougou
# svn checkout file:///www/wwwroot/svn/yougou yougou

即可创建一个工作副本

5.添加SVN用户
# vim conf/passwd

如何创建一个新的SVN仓库 怎么创建svn服务器_版本库


帐号 = 密码 的格式,加入一个或多个用户

6.修改用户权限
# vim conf/authz

如何创建一个新的SVN仓库 怎么创建svn服务器_如何创建一个新的SVN仓库_02


帐号 = 权限 的格式

r:读

w:写

*=:这个一定要加上,其他用户没有任何权限,否则可能出现不用账号密码也可拉取文件

7.修改配置文件
# vim conf/svnserve.conf

打开四个注释

如何创建一个新的SVN仓库 怎么创建svn服务器_如何创建一个新的SVN仓库_03


password-db =/www/wwwroot/svn/yougou/conf/passwd 应用的用户配置文件

authz-db = /www/wwwroot/svn/yougou/conf/authz 应用的用户权限配置文件

8.启动服务器
# svnserve -d -r /www/wwwroot/svn

如果有多个项目,也是只需要启动svn目录即可
SVN服务默认没有自启动,重启服务器后需要手动开启

9.Windows SVN客户端拉取文件

鼠标右键点击选中 checkout/检出

SVN地址:svn://120.78.xxx.xxx/yougou

如何创建一个新的SVN仓库 怎么创建svn服务器_svn_04


输入账号密码,即可拉取成功

修改文件后右键提交修改的文件到版本库,然后到Linux的工作副本中运行

# cd /www/wwwroot/yougou
# svn update

即可将修改同步到工作副本