背景:MacOS内置了SVN的客户端和服务器端的软件,下边所使用到的目录需要结合自己电脑的具体情况进行设置,并不是很困难。

MacOS SVN简单入门

第一部分,创建本地的SVN测试仓库,并修改相应的配置文件用来添加用户和组以及相应的权限,之后这个仓库用来存储之后使用的用户上传的代码。

1.在/User/你的电脑用户名 下创建一个SVN目录

打开终端,使用命令 svnadmin create /Users/你的电脑用户名/SVN/repository 创建仓库repository

2.修改配置文件

1)打开/SVN/repository/conf/svnserve.conf这个配置文件

2)打开之后内容为

之后找框中的代码,把它前面的用来注释的“#”去掉

注:anon-access = 值

  值 = read:代表匿名访问的时候是只读的

  值 = none:代表禁止匿名访问,需要帐号密码才能访问

  同理,auth应该表示授权的用户访问时候的权限

3)打开配置目录下的passwd配置文件

注:不要写#哦,那个是注释用的>_<

4)打开配置目录下的authz配置文件,用来配置用户组和权限

可以将添加的用户放入到指定的组中,此时,这个用户就拥有了该组所拥有的权限

使用[/]代表svn服务器中的所有资源库,在这个下面配置上组名

注:/ 目录指的是/data/svn/repositories/目录

注:一个组添加多个用户时,用“,”隔开

组名前要使用“@”,rw代表该组对所有的资源库拥有可读(read)可写(write)的权限

如果下面写的是用户名,则不用添加“@”,例如

要想了解更多,可以阅读配置文件中authz中的注释部分

第二部分,启动SVN服务器及其关闭,以及使用SVN客户端功能

1.关闭SVN

1)打开活动监视器

2)搜索svn

3)退出进程即可关闭SVN

2.打开SVN

svnserve -d -r /Users/你的用户名/SVN

注:svn默认使用3690端口

3.使用SVN客户端

第一步,将本地代码上传到仓库中(第一次初始化导入)

打开终端输入

svn import /Users/用户名/Development/Java/IDEA_Project/svnTest svn://localhost/repository --username=xiaoming --password=123 -m "初始化导入"

注:-m "初始化导入" :表示上传仓库时的说明信息

--username=xiaoming --password=123:表示在配置文件中添加的用户

svn import /Users/用户名/Development/Java/IDEA_Project/svnTest svn://localhost/resposity/test:将svnTest项目导入到仓库的test目录下

第二步,从仓库下载代码到客户端本地

打开终端输入

svn checkout svn://localhost/repository --username=xiaoming --password=123 /Users/用户名/SVNUser/xiaoming

svn checkout svn://localhost/repository --username=xiaohong --password=123 /Users/XinxingWang/Development/SVNUser/xiaohong

注:checkout 在svn中表示将仓库中的项目下载到本地

  commit 在svn中表示将本地编写好的代码上传到仓库中

  update 在svn中表示检查仓库的项目代码是否更新,如果更新,则将本地的项目代码跟新,一般是先update,之后commit,可以减少冲突的发生

第三步,提交更改过的代码到仓库

上一步我们已经将仓库中的项目代码都下载到/Users/用户名/SVN/xiaoming目录下,现在修改一下其中的代码,然后提交这些修改到仓库

1)打开终端,进入/Users/用户名/SVNUser/xiaoming目录,输入:cd /Users/用户名/SVNUser/xiaoming

2)将添加的文件加入到项目中,使用指令svn add 添加的文件

svn add  /Users/用户名/SVNUser/xiaoming/respository/src/常用正则表达式的副本.txt

2) 输入提交指令:svn commit -m "在src目录下添加了文件"

第四步,更新仓库的代码到客户端(我们用xiaoming在项目中在添加World.java文件,然后让xiaohong更新到自己的本地中

1)首先用xiaoming在项目中在添加World.java文件并上传到仓库

2)打开终端,进入xiaoming目录下,cd /Users/用户名/SVN/xiaoming",之后输入svn commit -m "在src目录下添加了World文件"

3)打开终端,进入/Users/用户名/SVN/xiaohong目录,输入:cd /Users/用户名/SVN/xiaohong

4)打开终端输入:svn update

发现xiaohong下面下载的是xiaoming更新后的代码

至此,SVN的简单入门完毕。

想要查看SVN的其他用法,可以在终端输入:svn help

这里列出一大堆svn指令,后面括号中的内容的一般代表着指令的简称,比如我们可以用svn ci代替svn commit,用svn co代替svn checkout。

参考的链接:http://blog.csdn.net/q199109106q/article/details/8655204

参考的链接:https://blog.csdn.net/yangzm/article/details/47058893

MacOS SVN简单入门的更多相关文章

  1. 用IntelliJ IDEA创建Gradle项目简单入门

    Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...

  2. [原创]MYSQL的简单入门

    MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...

  3. Okio 1.9简单入门

    Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...

  4. emacs最简单入门,只要10分钟

    macs最简单入门,只要10分钟  windwiny @2013    无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...

  5. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  6. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  7. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  8. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  9. 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...

随机推荐

  1. 113资讯网——NGINX 502 Bad Gateway——解决方案

    NGINX 502 Bad Gateway错误出现的原因较多,对于后端连接PHP服务的场景下,常见的原因有php服务响应超时,php进程不足等引起的一类服务器错误. 发生原因: PHP FastCGI ...

  2. wsl环境下配置ubuntu16.04

    wsl环境下配置ubuntu16.04 在公司同事的安利下,终于给自己用了8年的老笔记本(戴尔XPS L502X)换上了固态硬盘(WD500G,SATA3接口) 当然,系统重装了一遍,所有的软件也都没 ...

  3. ADAS感知设计

    ADAS传感器融合 0.传感器标定 首先标定传感器.一般可以精度高的传感标定用精度低一个数量级的传感器,如用激光雷达标定毫米波雷达. 毫米波雷达标定:可以采用激光雷达对毫米波雷达进行标定.选取一个纹理 ...

  4. .NET WEB API关键过程 思维导图

    背景说明 近期在去面试的过程中,被问及有关WEB API的一些特性,一时竟不知该如何回答,故根据自己已知的知识,加上网上搜索的,详细列举了一下,期望对WEB API有一个比较开阔和全面的认知. 关键要 ...

  5. day72 bbs项目☞登录注册

    目录 一.表创建及同步 二.注册功能 二.登录页面搭建 一.表创建及同步 from django.db import models from django.contrib.auth.models im ...

  6. day54 js基础

    目录 一.变量 二.数据类型 1 数值类型(number) 2 字符类型(string) 3 字符类型常用方法 4 布尔值(boolean) 5 null与undefined 6 对象 7 运算符 8 ...

  7. day36 解决粘包问题

    目录 一.tcp粘包问题出现的原因 二.解决粘包问题low的办法 三.egon式解决粘包问题 四.实现并发 1 tcp 2 udp 一.tcp粘包问题出现的原因 前引: tcp的客户端与服务端进行通信 ...

  8. 关于echarts中的饼状图的label文字显示过长的问题

    label: { normal: { fontSize: 14, formatter(v) { let text = v.name let count = text.indexOf('¥') cons ...

  9. XSS 跨站脚本

    xss常用绕过姿势 大小写绕过 利用语句: http://192.168.1.102/xss/example2.php?name=<sCript>alert("hey!" ...

  10. python 面向对象专题(四):封装、多态、鸭子类型、类的约束、super

    https://www.cnblogs.com/liubing8/p/11321099.html 目录 Python面向对象04 /封装.多态.鸭子类型.类的约束.super 1. 封装 2. 多态 ...