1.检查机器上是否安装svnserve
1 zhangdeqiangdeiMac:Downloads hengjiang$ svnserve --version 2 svnserve, version 1.9.3 (r1718519) 3 compiled Feb 19 2016, 20:19:36 on x86_64-apple-darwin15.3.0 4 5 Copyright (C) 2015 The Apache Software Foundation. 6 This software consists of contributions made by many people; 7 see the NOTICE file for more information. 8 Subversion is open source software, see http://subversion.apache.org/ 9 10 The following repository back-end (FS) modules are available: 11 12 * fs_fs : Module for working with a plain file (FSFS) repository. 13 * fs_x : Module for working with an experimental (FSX) repository. 14 15 Cyrus SASL authentication is available.
2.在当前目录下创建一个SVN仓库
1 zhangdeqiangdeiMac:Users hengjiang$ sudo svnadmin create SVN
3.创建成功以后会自动生成一个仓库文件,需要对其子目录conf里的文件作配置
1 zhangdeqiangdeiMac:Users hengjiang$ ls 2 SVN Shared hengjiang 3 zhangdeqiangdeiMac:Users hengjiang$ cd SVN 4 zhangdeqiangdeiMac:SVN hengjiang$ ls 5 README.txt conf db format hooks locks 6 zhangdeqiangdeiMac:SVN hengjiang$ cd conf 7 zhangdeqiangdeiMac:conf hengjiang$ ls 8 authz hooks-env.tmpl passwd svnserve.conf 9 zhangdeqiangdeiMac:conf hengjiang$ sudo nano svnserve.conf
svnserve.conf 里的内容 一定注意 这个文件里对每一个字符都很敏感 有的地方需要空格 有的地方坚决不能有空格 #号表示注释
1 [general] 2 anon-access = read 3 auth-access = write 4 password-db = passed 5 authz-db = author 6 //注意这些代码都是顶格写 没空格 等号前后各一个空格 后边不要加注释
passwd里边的
1 //注意这个地方是设置密码 第一个用户是admin 密码是admin 2 //第二个用户是nameforzhangjie 密码是passwdforzhangjie 3 [users] 4 # harry = harryssecret 5 # sally = sallyssecret 6 admin = admin 7 nameforzhangjie = passwdforzhangjie
第三个是authz文件 设置权限的一个文件
1 //权限设置 管理员权限是叫admin的用户 普通用户是叫nameforzhangjie的用户 2 //[/]表示根目录的意思 rw 是readandwrite的意思 3 4 [groups] 5 # harry_and_sally = harry,sally 6 # harry_sally_and_joe = harry,sally,&joe 7 8 admin = admin 9 user = nameforzhangjie 10 11 [/] 12 admin = rw 13 user = rw 14 15 16 [SVN:/] 17 admin = rw 18 user = rw
4.启动服务器
zhangdeqiangdeiMac:conf hengjiang$ sudo nano authz //启动服务器,sudo是当前目录不在电脑用户权限之内,是在根目录上,所以用管理员权限去操作。 -d -r 是启动参数 不能错 SVN 是要启动的服务器名。。后边的那个--listen-host 192.168.1.47是服务器的网络地址 加这个参数以后只要是同一个网段的电脑可以直接访问他 zhangdeqiangdeiMac:conf hengjiang$ sudo svnserve -d -r SVN --listen-host 192.168.1.47
一般默认的这个本地服务器端口号是3690,可以测试一下
1 zhangdeqiangdeiMac:conf hengjiang$ telnet localhost 3690 2 Trying 127.0.0.1... 3 telnet: connect to address 127.0.0.1: Connection refused 4 Trying ::1... 5 telnet: connect to address ::1: Connection refused 6 telnet: Unable to connect to remote host 7 zhangdeqiangdeiMac:conf hengjiang$ 8 //这就是正常反应 开启成功了
5.到桌面上创建一个本地的目录,其实是用于推到服务器上用的
1 zhangdeqiangdeiMac:~ hengjiang$ cd Desktop/ 2 zhangdeqiangdeiMac:Desktop hengjiang$ ls 3 23GamesNetwork test 4 3E6A2DDE-1113-40B6-8127-F61D8EEEBFB5.png testDemo2 5 a 6 zhangdeqiangdeiMac:Desktop hengjiang$ mkdir -p Q 7 //创建本地目录Q 并且在Q里边创建经典目录结构tags trunk branches三个文件夹 8 zhangdeqiangdeiMac:Desktop hengjiang$ cd Q 9 zhangdeqiangdeiMac:Q hengjiang$ mkdir tags trunk branches
6.把本地建的目录结构推到服务器上去
1 //‘first init‘是这次操作的标志 2 //Q是要推上去的文件目录,因为现在本来就在桌面上,所以直接这样写就可以了 3 //后边的svn://192.168.1.47:3690/SVN是svn服务器地址 (本地IP:端口号/svn目录) 4 zhangdeqiangdeiMac:Desktop hengjiang$ sudo svn import -m ‘first init‘ Q svn://192.168.1.47:3690/SVN
7.再然后,就可以checkout了,之后就可以正常使用了。
1 zhangdeqiangdeiMac:Desktop hengjiang$ svn co svn://192.168.1.47:3690/SVN
需要注意的几点问题,svn服务器一旦开启他就存在了,哪怕你把服务器文件删除了也是存在的 这时候用 1 zhangdeqiangdeiMac:Desktop hengjiang$ sudo killall svnserve 来杀死所有服务器程序,之后再开启。如果有正在运行的项目,不能杀死的话那就只能使用另外的端口了。
时间: 2024-10-12 03:15:53