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目录

Mac使用svn

二、修改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...

相关推荐