1-
首先建立svn库
mkdir ~/svn
cd ~/svn
mkdir myProject
svnadmin create ~/svn/myProject
2- 配置和管理svn
进入配置文件
cd ~/svn/
myProject
/conf/
打开
vi svnserve.conf
输入a回车,表示插入然后
找到[general]
- # anon-access = read
- # auth-access = write
- # password-db = passwd
- # authz-db = authz
修改为
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
完成之后按esc返回,输入 :wq 回车保存
配置帐号密码
vi
passed
找到 [ users ] 在下面插入自己的帐号和密码
例如
suxiang = 123
apple = 123
帐号suxiang 密码123
帐号apple 密码123
然后保存
vi authz
找到 [ groups ] 在下面插入管理组
例:
topgroup = suxiang, apple
表示把 suxiang 和 apple 帐号加到top group组中
然后配置权限
插入
[ \ ]
@topgroup = rw
[ \ ]表示
服务器中的所有资源
@topgroup = rw 表示topgroup中的用户都有read和write权限
topgrop是个数组,数组前要加@,如果只是一个用户,用户名前不加@
例如给apple设置读写权限
[ \ ]
apple = rw
保存退出 (esc 回车)返回 ( :wq )保存
3- 启动svn服务器<如果启动失败,先关闭SVN服务器,再启动>
svnserve -d -r /Users/suxiang/svn
先关闭SVN服务器
sudo killall svnserve
再启动
svnserve -d -r /Users/suxiang/svn
前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。
在终端输入下列指令:
svnserve -d -r /Users/suxiang/svn
或者输入:
svnserve -d -r /Users/suxiang/svn
/myProject
没有任何提示就说明启动成功了
5.关闭svn服务器
如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”
综合上述,我们就可以轻松搭建svn服务器环境了
使用svn客户端功能
1.从本地导入代码到服务器(第一次初始化导入)
在终端中输入
svn import /Users/apple/Documents/eclipse_workspace/weibosvn://localhost/myProject/weibo --username=suxiang --password=123 -m "初始化导入"
svn://localhost/myProject/weibo
是你自己的svn目录,myProject是svn目录下的第一层子目录,微博是你自己的svn服务器里手动建立的用于保存项目代码的目录,随便自己键一个目录都可以
我解释下指令的意思:将/Users/apple/Documents/eclipse_workspace/weibo中的所有内容,上传到服务器myProject仓库的weibo目录下,后面双引号中的"初始化导入"是注释
2.从服务器端下载代码到客户端本地
在终端中输入svn checkout svn://localhost/myProject --username=apple --password=apple /Users/apple/Documents/code
我解释下指令的意思:将服务器中mycode仓库的内容下载到/Users/apple/Documents/code目录中
3.提交更改过的代码到服务器
在步骤2中已经将服务器端的代码都下载到/Users/apple/Documents/code目录中,现在修改下里面的一些代码,然后提交这些修改到服务器
1> 打开终端,先定位到/Users/apple/Documents/code目录,输入:cd/Users/apple/Documents/code
2> 输入提交指令:svn commit -m "修改了main.m文件"
这个指令会将/Users/apple/Documents/code下的所有修改都同步到服务器端,假如这次我只修改了main.文件
可以看到终端的打印信息:
[java]
view plain
copy
- Sending weibo/weibo/main.m
- Transmitting file data .
- Committed revision 2.
4.更新服务器端的代码到客户端
这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的/Users/apple/Documents/code目录,然后再输入指令:svn update
5.至于svn的其他用法,可以在终端输入:svn help
这里列出一大
堆svn指令,后面括号中的内容的一般代表着指令的简称,比如我们
可以用svn ci代替svn commit,用svn co代替svn checkout