背景: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. paramiko报错 Garbage packet received

    前情概要 今天想要写一个多进程的python脚本上传代码至服务器,于是在本地用虚拟机测试了一下,可总是报错,具体报错信息如下 Traceback (most recent call last): Fi ...

  2. 【搬砖】/etc/passwd 文件结构

    文件的内容: 每个Linux都会有root账号,以此来说明,从内容上看,每行都使用[:]分隔(注意:每行前面的数字是行号,不是内容),所以一共有七部分内容,分别是: 1. 账号名称:root,用来对应 ...

  3. CSS3动画 相比JS Animation 哪个更快?

    CSS vs. JS Animation: 哪个更快? 基于JavaScript的动画竟然已经默默地比CSS的transition动画快了?而且,Adobe和 Google竟然一直在发布可以媲美原生应 ...

  4. 隐写术工具之binwalk

    0x00Binwalk介绍 Binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具. 具体来说,它被设计用于识别嵌入固件镜像内的文件和代码. Binwalk使用libmagic库,因此 ...

  5. 【转】Hbuilder配置Avalon、Vue指令提示

    转载自CSDN http://blog.csdn.net/jianggujin/article/details/71419828 我本人是一名Java后端开发,偶尔也会研究一下前端内容,因为Hbuil ...

  6. day07总结

    元组常用操作 # ======================================基本使用======================================# 1.用途:元组就是 ...

  7. 小白pytorch安装以及初步了解

    安装遇到的几个坑: 1创建虚拟环境的时候出现Proceed ([y]/n)? 询问你是否覆盖旧版本,在命令行输入y即可进行下一步的安装操作了 安装pytorch前先了解 pytorch:一个开源pyt ...

  8. flutter学习01-flutter起步安装配置(window, vscode开发)

    从零开始配置flutter环境,如果直接去看官方文档配置的话,太过复杂,其实正式没有那么多步骤,记录一下: 1.首先,前往下面这个网站,下载flutter sdk  https://flutter.d ...

  9. 解决nginx 出现 413:Request Entity Too Large

    去网上搜了一下,说是上传文件大小超过nginx的限制大小(nginx据说默认只能上传不超过2MB的文件) 解决方法: #nginx/conf/nginx.conf http { ... client_ ...

  10. linux专题(七):账号管理

    http://dwz.date/UDf 简介 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账 ...