背景: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. Zookeeper Watcher 流程分析(结合源码)

    概述 ZK提供了分布式数据的发布/订阅功能,一个典型的发布/订阅模型系统定义了一种一对多的订阅关系,能够让多个订阅者同时监听某个主题对象,当这个主题对象自身状态发生变化时,会通知所有的订阅者.在ZK中 ...

  2. 洛谷 P1313 【计算系数】

    这道题只要肯动手还是挺水的 进入正题 我们先枚举几个找找规律(这里先省略x,y): k = 0 :\(1\) k = 1 : \(a\) \(b\) k = 2 : \(a^{2}\) \(2ab\) ...

  3. MySQL Error (Always Continue)

    MySQL Error (Always Continue)   其实大部分error在网上都有对应的解决办法,尤其是对Mysql这种使用范围很广的技术.自己就不为每个error单独发布博客了,仅在这里 ...

  4. 状压DP之中国象棋

    题目 传送们 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法.大家肯定很清楚,在中国象棋中炮的行走方 ...

  5. H3c实验室-(OSPF,Nat,STP,Dhcp,Acl)v.1)

    实验声明 本实验纯属学习记录性质,如有错误,请大哥帮忙提出,马上改正谢谢~还有学习H3c心态要好,他有超级多的bug!!!! 实验介绍 实验条件 实验开始 把图设计好 先说明一下RTA-RTB的线路是 ...

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

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

  7. C#学习与个人总结

    本学期的C#相对来说,自我学习方法大有收获.但自律性.自我约束能力,我是否达到预期的最好效果,这个很难说出口.本学期在图书馆借了一本MySql.微机原理的书看了看,记了一些笔记.感觉知识有一些相同,有 ...

  8. 数据可视化之DAX篇(二)Power BI中的度量值和计算列,你搞清楚了吗?

    https://zhuanlan.zhihu.com/p/75462046 对于初学者,总是会把度量值和计算列搞混,我也经常碰到这样的问题,有些星友用文章中的代码总是报错,发给我一看,才知道TA把本来 ...

  9. redis(十三):Redis 集合(Set) python

    # -*- coding: utf-8 -*- import redis r = redis.Redis(host="126.56.74.190",port=639,passwor ...

  10. ajax+jquery+JSON笔记

    ajax (asynchronous javascript and xml -- 基于javascript和xml的异同步通讯技术)    特征: 异步通讯  异步的请求-响应模式     1.传统的 ...