背景: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. SpringCloud 断路器之Hystrix

    Hystrix-断路器 在分布式环境中,许多服务依赖项中的一些必然会失败.Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互.Hystrix通过隔离服务之间的访问点 ...

  2. 讲讲 Promise

    一.什么是 Promise 1.1 Promise 的前世今生 Promise 最早出现在 1988 年,由 Barbara Liskov.Liuba Shrira 首创(论文:Promises: L ...

  3. css中line-height的理解_介绍line-height实际应用

    一.line-height的定义 css中line-height行高是指文本行基线之间的距离,不同字体,基线位置不同.line-height只影响行内元素和其他行内内容,而不会直接影响块级元素,如果块 ...

  4. 平常我们是如何区分css中class和id之间有什么区别的?

    我们平常在用DIV+CSS制作html网页页面时,常会用到class 和id来选择调用CSS样式属性.对学习CSS的新手来说class和id可能比较模糊,同时不知道什么时候该用class,什么时候又用 ...

  5. 工作那么久,才知道的 SOLID 设计原则

    认识 SOLID 原则 无论是软件系统设计,还是代码实现,遵循有效和明确的设计原则,都利于系统软件灵活可靠,安全快速的落地,更重要的是能灵活地应对需求,简化系统扩展和维护,避免无效的加班.本文主要讨论 ...

  6. HDFS读写流程(重点)

    @ 目录 一.写数据流程 举例: 二.异常写流程 读数据流程 一.写数据流程 ①服务端启动HDFS中的NN和DN进程 ②客户端创建一个分布式文件系统客户端,由客户端向NN发送请求,请求上传文件 ③NN ...

  7. Spring源码解析——核心类介绍

    前言: Spring用了这么久,虽然Spring的两大核心:IOC和AOP一直在用,但是始终没有搞懂Spring内部是怎么去实现的,于是决定撸一把Spring源码,前前后后也看了有两边,很多东西看了就 ...

  8. MyBatis框架基础详细开发流程

    MyBatis 项目已托管到GitHub,大家可以去GitHub查看下载!并搜索关注微信公众号 码出Offer 领取各种学习资料! 一.框架概述 1.1 什么是框架? 软件的半成品,解决了软件开发过程 ...

  9. java 面向对象(三十六):泛型五 通配符

    1.通配符的使用 /* 通配符的使用 通配符:? 类A是类B的父类,G<A>和G<B>是没关系的,二者共同的父类是:G<?> */ @Test public voi ...

  10. java 面向对象(二十二):关键字:final

    final:最终的1.可以用来修饰:类.方法.变量 2.具体的: 2.1 final 用来修饰一个类:此类不能被其他类所继承. * 比如:String类.System类.StringBuffer类 * ...