svn中项目管理中ec_Mac中使用svn进行项目管理

Mac中使用svn进行项目管理,借鉴了http://blog.csdn.net/q199109106q/article/details/8655204

以下方案多人亲测可用

转载请注明出处:http://blog.csdn.net/yc7369

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。

我们首先来看下,如何在Mac环境下搭建svn服务器端环境。

创建代码仓库,用来存储客户端所上传的代码

我先在/User/apple目录下新建一个svn目录,以后可以在svn目录下创建多个仓库目录

打开终端,创建一个mycode仓库,输入指令:svnadmin create /Users/apple/svn/mycode

指令执行成功后,会发现硬盘上多了个/Users/apple/svn/mycode目录,目录结构如下:

8b4b392baa2d1c753afb55bacc0e7c6c.png

配置svn的用户权限

主要是修改/svn/mycode/conf目录下的三个文件

1.打开svnserve.conf,将下列配置项前面的#和空格都去掉

# anon-access = read

# auth-access = write

# password-db = passwd

# authz-db = authz

# anon-access = read

# auth-access = write

# password-db = passwd

# authz-db = authz

anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问

2.打开passwd,在[users]下面添加帐号和密码,比如:

[users]

mj = 123

jj = 456

[users]

mj = 123

jj = 456

帐号是mj,密码是123

3.打开authz,配置用户组和权限

我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。

在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开

[groups]

topgroup=mj,jj

[groups]

topgroup=mj,jj

说明mj和jj都是属于topgroup这个组的,接下来再进行权限配置。

使用[/]代表svn服务器中的所有资源库

[/]

@topgroup = rw

[/]

@topgroup = rw

上面的配置说明topgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@

如果是用户名,不用加@,比如mj这个用户有读写权限

[/]

mj = rw

至于其他精细的权限控制,可以参考authz文件中的其他内容

4.启动svn服务器

前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。

在终端输入下列指令:svnserve -d -r /Users/apple/svn

或者输入:svnserve -d -r /Users/apple/svn/mycode

没有任何提示就说明启动成功了

5.关闭svn服务器

如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”

395119ddd731162635d06a1f0220f485.png

d2097d19f85b644ed8f3fe5518179827.png

综合上述,我们就可以轻松搭建svn服务器环境了

使用svn客户端功能

1.从本地导入代码到服务器(第一次初始化导入)

在终端中输入

svn import /Users/apple/Documents/eclipse_workspace/weibo svn://localhost/mycode/weibo --username=mj --password=123 -m "初始化导入"

我解释下指令的意思:将/Users/apple/Documents/eclipse_workspace/weibo中的所有内容,上传到服务器mycode仓库的weibo目录下,后面双引号中的"初始化导入"是注释

2.从服务器端下载代码到客户端本地

在终端中输入svn checkout svn://localhost/mycode --username=mj --password=123 /Users/apple/Documents/code

我解释下指令的意思:将服务器中mycode仓库的内容下载到/Users/apple/Documents/code目录中

3.提交更改过的代码到服务器

在步骤2中已经将服务器端的代码都下载到/Users/apple/Documents/code目录中,现在修改下里面的一些代码,然后提交这些修改到服务器

1> 打开终端,先定位到/Users/apple/Documents/code目录,输入:cd/Users/apple/Documents/code

2> 输入提交指令:svn commit -m "修改了main.m文件"

这个指令会将/Users/apple/Documents/code下的所有修改都同步到服务器端,假如这次我只修改了main.文件

可以看到终端的打印信息:

Sending weibo/weibo/main.m

Transmitting file data .

Committed revision 2.

Sending weibo/weibo/main.m

Transmitting file data .

Committed revision 2.

4.更新服务器端的代码到客户端

这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的/Users/apple/Documents/code目录,然后再输入指令:svn update

5.至于svn的其他用法,可以在终端输入:svn help

257a783a596d2edd392410abff92c480.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10067mysql_MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM)

《MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM)》要点:本文介绍了MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM),希望对您有用。如果有疑问,可以联系我们。MYSQL入门后来在做WordPress,一开始还不知道…

String中常用的方法

String中常用的方法 length():获取字符串当中含有的字符个数,拿到字符串长度; concat(String str):当前字符串和参数字符串进行拼接 charAt(int index):获取指定索引位置的单个字符&…

python self 值自动改变_Python,为什么传递和更改带有外部函数的类selfvariable用于操作iterable而不是变量...

Python的参数传递对所有对象都是一样的-传递原始对象(不是“副本”,不是“引用”,不是“指针”-传递的是对象本身),而不管对象的类型,是否可变等等。然后这些对象作为局部变量绑定到其匹配参数的名称上。在您观察到的差异实际上是…

基本类型与字符串的相互转换

基本类型→字符串 基本类型的值“”;包装类的静态方法toString(参数),不是Object类的toString()重载 static String toString(int i)String类的静态方法valueOf(参数) static String valurOf(int i) 字符串→基本类型 使用包装类的静态方法parseXXX(“…

java 三个点_Java,参数中的3个点

是瓦拉格斯 :)varargs是可变长度参数的缩写,它允许方法接受可变数量的参数(0或更多)。使用varargs,创建需要使用可变数量参数的方法变得非常简单。在Java 5中添加了变量参数的特性。varargs语法在数据类型之后,一个vararg由三个省略号(三个点…

时钟频率(HZ)与数据传输速率(bit/s)

时钟频率(HZ)与数据传输速率(bit/s)两者是相同的概念。 举例:IIC传输位速率在标准模式下可达100kbit/s,其中100kbit/s 是指1秒钟传输100kbit。1个时钟脉冲只能传输1bit数据。1秒中内要传输100kbit数据&…

java类的定义的实例_《Java基础知识》Java类的定义及其实例化

类必须先定义才能使用。类是创建对象的模板,创建对象也叫类的实例化。下面通过一个简单的例子来理解Java中类的定义:public classDog {String name;intage;void bark()//汪汪叫{System.out.println("汪汪,不要过来");}voidhungry(){System.out.println(&q…

[问题]假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”):

[问题]假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”): N1 7 A N2 2 C N6 8 F N8 4 E N9 4 F 现在B收到从C发来的路由信息(这两列分别表示“目的网络”“距离”)&…

excel mysql插件_智分析Excel插件

智分析Excel插件官方版是一款好用的自助分析云平台,智分析Excel插件官方版是一款面向业务用户的EXCEL插件工具,智分析Excel插件官方版支持各类云端数据库、本地excel数据导入功能,软件能够将本地数据和线上数据结合起来分析。软件可以帮助办公…

controller中返回数据

1.返回ModelAndView 无敌的 带着数据返回路径 (不建议使用) 复制代码 2 //第一种返回ModelAndView 3 // //入门程序 第一 包类 类包 方法名 4 RequestMapping(value “/item/itemlist.action”) 5 public ModelAndView itemList(){ 6 //从Mysql中查询…

登录用户名和密码相同问题

当用户登录时,出现用户名和密码相同的情况,会出现异常TooManyResultsException,因为mybatis的底层会调用selectOne方法,返回多个结果出现异常 解决办法:不允许出现用户名同名,在添加的时候先对数据库中的数…

java访问本地文件_java 读取本地文件 更改

/*** Title: MakeHtml* Description: 创建html*paramfilePath 设定模板文件*paramconent 替换的内容*paramdisrPath 生成html的存放路径*paramfileName 生成html名字*returnvoid 返回类型*throws*/public static voidMakeHtml(String filePath,String conent,String disrPath,S…

HTML中如何给HTML元素添加事件

HTML中如何给HTML元素添加事件 方法一&#xff1a; 代码示例&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script>function test(){alert("执行了");}</script><…

kewail node 短信_nodejs短信验证

nodejs短信验证申请配置信息&#xff1a;1.短信验证&#xff1a;阿里大鱼(http://www.alidayu.com/)2.创建应用3.下载nodejs的sdk下载super-alidayu短信验证组件[rootlocalhost aldy]#npm install super-alidayu --save[rootlacalhost aldy]#vim app.jsconst AliDaYu require(…

SpringBoot项目@Email不起作用

SpringBoot项目Email不起作用 新版本springboot要加上 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>

debian 安装java_debian9安装jdk1.8

//先跟新可用安装信息apt-get update//查看可以安装的jdk版本apt-cache search jdk//会显示如下内容&#xff1a;openjdk-8-dbg - Java runtime based on OpenJDK (debugging symbols)openjdk-8-demo - Java runtime based on OpenJDK (demos and examples)openjdk-8-doc - Ope…

yml和properties的加载顺序

yml和properties的加载顺序 正常的情况是先加载yml&#xff0c;接下来加载properties文件。如果相同的配置存在于两个文件中。最后会使用properties中的配置。最后读取的优先级最高。 两个配置文件中的端口号不一样会读取properties中的端口号。

python实现简单的名字管理系统_python列表使用实现名字管理系统

python列表使用实现名字管理系统来源&#xff1a;中文源码网 浏览&#xff1a; 次 日期&#xff1a;2019年11月5日【下载文档: python列表使用实现名字管理系统.txt 】(友情提示:右键点上行txt文档名->目标另存为)python列表使用实现名字管理系统本文实例为大家分享了…

ssm项目搭建

系统环境搭建 Spring的jar包11个 com.springsource.org.aopalliance-1.0.0.jar //Aopi联盟的jar包遵循其规则 com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar //面向切面编程 spring-aop-5.0.1.RELEASEjar //实现aop spring-aspects-5.0.1.RELEASEjar //aspect整合的…

【计算机网络】——习题解析:一个UDP用户数据的数据字段为8192字节,在数据链路层要使用以太网来传输,试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值

【计算机网络】——习题解析&#xff1a;一个UDP用户数据的数据字段为8192字节&#xff0c;在数据链路层要使用以太网来传输&#xff0c;试问应当划分为几个IP数据报片&#xff1f;说明每一个IP数据报字段长度和片偏移字段的值 答&#xff1a;6个数据字段的长度&#xff1a;前5…