Mac使用svn
最近使用的是Mac进行开发,由于常年使用windows系统熟悉习惯了Windows的一些操作方式,突然改用IOS操作系统,一下子有些转换不过来。
开发过程中免不了要用到svn、git等项目管理工具,以下是我在Mac上使用svn时遇到的一些坑,现在总结如下:
- Mac电脑上自带svn,通过
svn --version
检查svn版本信息。如果没有,可以通过安装xcode的方式获得svn。xcode上自带svn工具。
xcode安装方式:
1、打开终端Terminal
,输入:xcode-select --install
,点击回车,安装即可
2、登录https://developer.apple.com/d... 然后下载 dmg 安装
- 接下来就是使用svn
一、创建代码仓库,用来存储客户端上所传代码
在/Users/用户名
目录下创建一个新的NewSVN目录,里面可以创建多个仓库目录
注意:文中AppleID均为电脑用户名
打开终端,创建一个Perjects仓库,输入命令:svnadmin create /User/AppleID/NewSVN/svnInfo
()
指令执行成功后,硬盘上多了一个/User/AppleID/NewSVN/Projects
目录
二、修改svn配置权限
主要是修改conf文件夹下面的三个文件
1. 打开svnserve.conf,将下面配置项前的#和空格都去掉
# anon-access = read # auth-access = write # password-db = passwd # authz-db = authz
anon-access = read
代表匿名访问的时候是只读的,如果改为anon-access=none
代表的是禁止匿名访问,需要账号密码才能访问
2. 打开password,在[users]下面添加账号和密码
# harry = [harrylist]
,# 表示此行为注释行,前面代码表示的账号和密码的命名格式,其实就是[账号] = [密码]
。
admin = 123456 // 账号是admin,密码是123456
3. 打开authz,配置用户组合权限
可以将在password里的用户分配到不同的用户组里。以后就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
在[groups]下面添加组名和用户名,多个用户之间用逗号隔开
如下:
[groups] groups1 = admin, user // 表示admin和user都是groups1这个组的
接下来再进行权限配置:
[/]:表示svn服务器中的所有资源库
[/] @groups1 = rw // 表示groups1这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@,如果是用户名,不用@。例如admin这个用户有读写权限直接写 admin=rw
4. 启动svn服务器
前面3步的配置都是基于svn服务器正常启动,如果启动不了,前面的工作均不起作用
在终端输入命令:svnserve -d -r /Users/AppleID/NewSVN
或者输入:svnserve -d -r /Users/AppleID/NewSVN/Projects
点击回车后,如果没有任何提示,说明启动成功了
5. 关闭svn服务器
打开实用工具里面的“活动监视器”,选择退出即可
注:首次配置完成后先关闭svn服务器再进行数据的上传和下载操作
三、使用svn客户端功能
1、从本地导入代码到服务器(第一次初始化导入)
在终端中输入:svn import /Users/AppleID/NewSVN/Projects/demo1 svn://localhost/mycode/demo --username=admin --password=123456 -m "初始化导入"
上面的命令指的是:将/Users/AppleID/NewSVN/Projects/demo1中的所有内容上传到服务器mycode仓库的demo目录下,后面双引号中的"初始化导入"是注释
2、从服务器上下载代码到客户端本地
在终端中输入:svn checkout svn://localhost/mycode --username=admin --password=12345 /Users/AppleID/NewSVN/Projects
上面的代码表示的是:将服务器中mycode仓库中的文件下载到/Users/AppleID/NewSVN/Projects目录中
localhost是本地服务器IP地址,当和别人用同一个svn时,可以输入你要进行数据请求的数据修改到服务器
3、提交更改过的代码到服务器
在步骤2中已经将服务器端的代码都下载到/Users/AppleID/NewSVN/Projects目录中,下载修改下面的一些代码,然后提交这些修改到服务器:
1)/Users/AppleID/NewSVN/Projects目录,输入:cd /Users/AppleID/NewSVN/Projects
2)输入提交指令:svn commit -m "修改了main.html文件"
这个指令会将/Users/AppleID/NewSVN/Projects下的所有修改都同步到服务器端,如果这次只修改了main.html文件,可以看到终端的打印信息:
Sending demo1/demo/main.html
Transmitting file data .
Committed revision 2.
4、更新服务器端的代码到客户端
在终端中定位到客户端代码目录后,如上面的/Users/AppleID/NewSVN/Projects目录,再输入指令:svn update
这些都是svn的基本用法,还有其他用法,可以在终端输入:svn help
**1、系统自带的svn无法支持本地删除文件的更新,即当本地删除文件后再去更新服务器的文件时,删除的文件又从服务器上的文件夹中下载到本地文件夹中,但是他支持文件修改后的更新操作
2、一定要写注释,不然系统不会识别命令
**
以上,文章至此告一段落。
文章摘自:https://www.cnblogs.com/ckAng...
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf