有人听到svn服务器,感觉很高深的东西,其实慢慢了解如何运作,你就不会特别的困惑,也不会觉得难用.
svn服务器的搭建与客户端的command式的操作,视图软件有时会让你的IDE,down机,或假死,那么command式相对而言好些,你听说过,dos有死机的?
自己一直对command式的也非常好奇,现在test并记录
svn服务器原理
首先咱们不懂,先了解下,svn服务器的原理,对于很多初手或者学习者需要理解配合的深刻含义,这种提高项目效率的同时也是在互相进步
那么我最初是在何时接触svn的呢,那是在2007年的,当时用的还是vs2005的vss2005版本,与几个后端配合提交版本,只不过,我提交的是设计稿及html+css样式+js
这时才发现前后端分离是多么的方便,至少前后配合初型已经是这样子
对于svn服务器理解可以看如下图:
简单的表述,一台server(任何一台电脑,只要硬件可以作为服务器)
那么这边有3台,A,B,C,从server提交又获取,使得这三台,可以在server上获取其他二台提交的一些信息,另外还可以版本比较merge合并,很神奇的东西
系统环境选择svn搭建
首先看一下,自己系统是什么,window还是mac os,
mac os
还好,mac自带svn服务器端,这样我们可省一些安装及配置,打开终端或IDE上terminal,我这边是webstorm
第一步,初始化svn服务器,因为mac自带,已经装好了,就不需要我们再下载
|
|
第二步,找到路径 自定义svn服务器文件夹 > conf > svnserve.conf文件内,去掉前面的#
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
anon-access 表示匿名访问权限
anon-access = none代表禁止匿名访问,需要帐号密码才能访问
第三步,conf >passwd文件,在[users]后面加zyx=123456,表示创建了zyx帐户,密码是123456
如:
第四步,conf >authz文件
passwd用户xyz加到 => jackgroup创建用户组,
如:
第五步,conf>authz文件 ,组权限设置
rw读写权限,[/]表示根目录
如:
第六步,开启svn服务器
整个svn服务器已经部署完,那么你可以用小乌龟TortoiseSVN下下看,本地用svn://localhost开头,如果你真的是一台服务器,有固定IP地址,那么可以是svn://192.168.1.2这种,是不是我们以前看到后端给到的svn地址?
哦,原来是这样,好神奇,我们自己电脑也可以作服务器
那我这边用的是versions,mac版的svn下载
开始启后,打开活动监测器,搜索svnserve进程,能搜索的到,说明开启成功
接下来,使用command式客户端
将weibo所有内容,上传到服务器svn仓库weibo目录下,引号中的内容是注释说明
|
|
若出现Authorization failed问题:
解决:
- 在conf>authz文件内,加入[/]代表根目录下所有的资源
从服务器端下载代码到客户端本地
svn checkout svn://localhost/svn/weibo –username=xyz –password=123456 /weibo
签下,到当前目录到 /weibo
用工具Versions也可以,类似,小乌龟视图界面下载
提交更改过的代码到服务器
添加
svn add 文件/文件夹
更改
svn commit -m “修改了main.m文件”
出现问题时:
The log message is a pathname (was -F intended?); use ‘–force-log’ to override
解决方法:
- svn ci 提交文件 -m “改变新描述”
更新服务器端的代码到客户端
|
|
其他方法查看
不想用了,就关闭svn服务器
先找pid,这是进程的序号
关闭pid
若出现No such process,那说明没找到进程序号
或者直接killall svnserve,也可以