MacOS SVN简单入门
背景: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简单入门的更多相关文章
- 用IntelliJ IDEA创建Gradle项目简单入门
Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...
- [原创]MYSQL的简单入门
MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...
- Okio 1.9简单入门
Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...
- emacs最简单入门,只要10分钟
macs最简单入门,只要10分钟 windwiny @2013 无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- Docker 简单入门
Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
- git简单入门
git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
随机推荐
- 二.httpRequest-httpResponse-JsonResponse对象
一.HttpRequest对象 HttpRequest在django.http这个模块中 它是用django创建 文档https://docs.djangoproject.com/en/1.11/r ...
- Flutter vs React Native vs Native:深度性能比较
老孟导读:这是老孟翻译的付费文章,文章所有权归原作者所有. 欢迎加入老孟Flutter交流群,每周翻译2-3篇付费文章,精彩不容错过. 原文地址:https://medium.com/swlh/flu ...
- Linux 操作系统!开篇!!!
此篇文章主要会带你介绍 Linux 操作系统,包括 Linux 本身.Linux 如何使用.以及系统调用和 Linux 是如何工作的. Linux 简介 UNIX 是一个交互式系统,用于同时处理多进程 ...
- 原生开发、H5开发、混合移动开发的优缺点
一.原生开发(Native App开发) 原生开发,是在Android.IOS等移动平台上利用官方提供的开发语言.开发类库.开发工具进行App开发.比如Android是利用Java.Eclipse.A ...
- 奇妙的 CSS MASK
本文将介绍 CSS 中一个非常有意思的属性 mask . 顾名思义,mask 译为遮罩.在 CSS 中,mask 属性允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域 ...
- PCA算法 | 数据集特征数量太多怎么办?用这个算法对它降维打击!
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第27文章,我们一起来聊聊数据处理领域的降维(dimensionality reduction)算法. 我们都知道,图片 ...
- JVM零碎知识
JVM常见XX参数 查看JVM默认值 常用基本配置参数 生产环境服务器变慢,如何诊断 生产环境CPU占用过高,如何诊断 JDK自带的JVM监控和性能分析工具 jps(虚拟机进程状况工具) jinfo( ...
- 概率图模型(CPD)(二)
CPD是conditional probability distribution的缩写,翻译成中文叫做 条件概率分布.在概率图中,条件概率分布是一个非常重要的概念.因为概率图研究的是随机变量之间的练习 ...
- 空间金字塔池化 ssp-net
<Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition>,这篇paper提出了空间金字 ...
- Bounding-Box(BB)regression
最近在学习RCNN,对于Bounding-Box(BB)regression能够提高边界框的精确度,对于其内容产生了很大兴趣. 主要内容学习自大神博客:https://blog.csdn.net/bi ...