Mac SVN服务器搭建#
一、创建代码仓库
1.首先在某个目录下面新建一个svn文件夹,例如:/Users/hehui/Desktop (桌面目录)下新建svn文件夹
命令:mkdir /Users/hehui/Desktop/svn
2.打开新建的svn文件夹
命令:cd /Users/hehui/Desktop/svn
3.在svn目录下面创建一个仓库 例如我将这个仓库取名为FirstDemo
命令:svnadmin create FirstDemo
如果没有任何提示,直接回到可以输入的状态就表明创建成功。命令执行成功后。
二、配置SVN
打开你的svn目录下面的FirstDemo文件夹,你会发现里面多了几个文件。
其中会包含一个conf的文件夹,打开里面有三个文件,
-
打开 svnserve.conf,找到以下的四行
anon-access = read auth-access = write password-db = passwd authz-db = authz
将每行前面的#和空格都删除掉
-
打开passwd,在[users]下面添加帐号和密码,比如:
hehui = 111111 stu01 = 000001 stu02 = 000002
账号是hehui,密码是111111
-
打开authz,配置用户组和权限
我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开
[groups]
top = hehui
normal = stu01,stu02
说明hehui是属于top这个组的,接下来再进行权限配置。
使用[/]代表svn服务器中的所有资源库
[/]
@top = rw
上面的配置说明top这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@。
如果是用户名,不用加@,比如stu01这个用户有只读权限
[/]
stu01 = rw
如果我想让stu02这个用户在FirstDemo的Stu02Project(这个需要去创建)文件夹里面拥有只读权限
[/FirstDemo:/Stu02Project]
stu02 = r
上面FirstDemo是仓库名,后面是仓库里面的文件夹目录。
在实际使用过程中需要根据不同的用户配置不同文件夹的权限
启动svn服务器
在你的svn目录下面,如果当前目录被你更换了,请回到svn文件夹的目录(例如我的,在终端输入:cd /Users/hehui/Desktop/svn)。
在终端输入下列指令:svnserve -d -r FirstDemo
没有任何提示说明启动成功了
关闭svn服务器
如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”
搜索svn,点击左上角X按钮关闭。
三、使用svn客户端功能
1.从本地导入代码到svn服务器(第一次导入初始化)
在终端中输入:svn import /User/hehui/Desktop/SvnTest svn://localhost/FirstDemo/SvnTest --username=hehui --password=111111 -m "第一次初始化导入"
这里的/User/hehui/Desktop/SvnTest 是你的工程的目录
svn://localhost/FirstDemo/SvnTest 是svn服务器中的SvnTest目录,如果是其它主机的服务器,需要将localhost替换成其它主机的ip地址,例如:192.168.1.111
-m 后面双引号里面内容是注释
2.从svn服务器上面下载代码到本地
在终端中输入:svn checkout svn://localhost/FirstDemo /User/hehui/Desktop/Zaizheli
这里是从svn服务器中将FirstDemo仓库中的所有内容下载到/User/hehui/Desktop/Zaizheli目录中。
注意这里的/User/hehui/Desktop/Zaizheli不再是你第一次上传的那个文件的目录,这是一个本地代码仓库
3.提交更改过的代码到svn服务器
在步骤2中已经将服务器端的代码都下载到/Users/hehui/Desktop/Zaizheli目录中,现在修改下里面的一些代码,然后提交这些修改到服务器
- 1.打开终端,先定位到/Users/hehui/Desktop/Zaizheli目录中,随便修改一下代码,然后提交这些修改
- 2.输入提交指令:svn commit -m "修改了一些代码",这个指定会将/Users/hehui/Desktop/Zaizheli目录下所有的修改都同步到服务器端。
4.更新svn服务器代码到本地
在终端中定位到/Users/hehui/Desktop/Zaizheli本地代码仓库,然后在终端中输入指令:svn update