使用 sudo apt install subversion安装svn
先创建一个svn的代码存放目录,命令如下:
mkdir /svn
然后使用svnadmin 命令将这个目录设置为svn的主目录,命令是:
svnadmin create /svn
创建好后我们查看一下这个目录下的文件,可以看到有4个目录,2个文件。其中我们用的最多的就是conf目录底下的文件,因为所有的配置都在里面,下面我们来依次介绍。
passwd文件是用于设置账号密码的。格式如下:
[users]
username=password
username就是你要配置的用户名,password就是用户的密码。我们创建三个用户sv1、sv2和manager,初始密码都配置成Pass234!@,密码稍微复杂一点对于安全很重要,如下所示:
authz用来配置权限和群组的,配置群组的格式是:
[groups]
群组别名=user1,user2,user3..
群组别名指的是为你的群组取得名字,例如develpment,开发组。
配置权限的格式是:
[/path/to/dir]
user1 = r
user2 = rw
@group1 = rw
user1,user2表示用户,@group1表示某个群组的命令。根据这样的格式,配置一个开发组dev,把sv1、sv2和manager都加入到开发组dev里去,让开发组dev对项目具有读权限,manager用户具有读写权限。如下所示:
5
最后,在svnserve.conf文件里将前面配置好的两个文件关联起来
启动svn服务:
ps -aux|grep svnserve #查找该服务是否正在运行,如果运行的话先杀掉该服务
kill -9 ID号
svnserve -d -r /home/svn #启动svn服务
导入你的项目到svn仓库中:
格式:svn import 你本地的项目文件夹路径 file:///home/svn/svn项目文件夹名字 -m “版本说明”
举例:
svn import /home/testsvn file:///home/svn/firstrepo/mytest -m '导入第一个'
如上,首先 /home/testsvn 文件夹必须存在,是你本地的文件夹路径,即你想导入的项目路径,其次 mytest 是你svn版本库中的项目名,到时候你检出项目的时候svn地址后面跟的就是这个名字。 -m '导入第一个' 为该导入项目的注释。
服务器上测试检出该项目:
svn co svn://192.168.x.x/firstrepo/mytest #中间跟的是你的服务器ip,后面是跟的版本库名和检出项目名