win7下svn安装及使用
首页->学习资料->编程语言->php教程->php技巧 关键词: 发布时间:2016-02-02 12:10:53 浏览次数:1724

1、安装服务端,这里使用的是Setup-Subversion-1.6.5.msi安装包

安装目录:D:\svnserver,然后一直点下一步就ok了

2、建立数据仓库

在D:\svn下建立一个文件夹project,用户存放我们要开发的各个项目

3、建立单一项目

在D:\svnproject下建立一个文件夹,名为api.detrumtech.com,这个是我们将要开发的项目

然后在dos命令行下进行D:\svnserver\bin下,执行如下命令:

也 可以设置win7环境变量,这样就不用每次进入d:svnserverbin目录下才可以执行命令了,设置步骤:桌面上在“计算机”上点右键,选属性-高 级系统设置-环境变量,选“PATH",点编辑,然后在其后加上D:\svnserver\bin,最终环境变量配置类似于:

d:\AppServ\Apache2.2\bin;d:\AppServ\php5;d:\AppServ\MySQL\bin;D:\svnserver\bin

这样不进入svn服务端软件的目录下也可以执行命令了,如下:

执行成功后会看到该目录下多出了如下这些文件,表示该目录已经是一个仓库(即在服务器上存放我们的项目api.detrumtech.com的文)

然后打开conf下的svnserve.conf(win7下是这个名字,xp下好像是conf),将

# anon-access = read前的#号去掉,并改成anon-access = write

表示匿名用户有写入权限(即,可以上传文件)

4、启动服务,执行如下命令,执行完后这个窗口不能关闭,一旦关闭服务就停止了;

至此服务端初步配置成功


下面进行客户端的安装及设置

5、安装客户端,因为是win7系统,64位的,这里使用的是TortoiseSVN-1.7.10.23359-x64-svn-1.7.7.msi

安装目录:D:\svnclient,然后一直点下一步就可以了

6、建立本地项目

在D:AppServ\www下建立一个文件夹api.detrumtech.com,我在里面放了一些项目必须的文件(视你的项目而定)

进入该文件夹后,点击右键-->tortoiseSVN-->repo-browser,弹出如下界面,点ok

然后会看到如下图界面,这里看到的就是我们第4步中启动服务时那个目录,即:D:\svn\project\api.detrumtech.com

7、首次从服务器上下载项目

在上图左侧svn://localhost上点右键,选择checkout,设置目录如下:

然后点击OK,再点OK

然 后我们会在此目录下看到一个.svn的隐藏文件,同时文件夹及文件的图标也变了(如果没有变,在项目中点右键,选 TortoiseSVN->setting->Icon overlays然后在status cache下选shell重启电脑即可)。说明我们这个本地项目可以与服务器上的项目进行文件传递了。

8上传文件到svn服务器

比如我们要将index.php上传到svn服务器,在Index.php上点右键,选TortoiseSVN->add,这时index.php的图标会变成一个"十"字符号(有时候要刷新一下才看得到),表示此文件已交给TortoiseSVN托管了。

然后再在index.php上点右键,选svn commit(如果第三步中没有修改配置文件,这里会报错的,没有写入权限)

如果没有错误,index.php的图标会变成一个对号

9、更新项目

假如有多个人在开发,项目过段时间可能会更新了,这时候我们需要将服务器上的文件下载到本地,这时只需要D:\AppServ\www\api.detrumtech.com下点击右键,选SVN Update即可


10、建立多个项目,假如我们再建立一个bbs.detrumtech.com

这时时候的命令应该是这样的,主要是第二个箭头所指目录应该为这两个项目的上级目录,即d:\svn\project,而且每个项目的都要单独 修改配置文件

当我们再进行第6步(本地项目文件夹中,点击右键-->tortoiseSVN-->repo-browser)时,就要带项目名了,如:svn://localhost/bbs.detrumtech.com

11、忽略文件、

有些文件不希望上传至svn服务器,应该将该文件或该类型的文件添加至忽略列表

我们可以在不想提交的文件上右键--->tortoiseSvn--->添加至忽略列表(add to ignore list)---->本文件(本类型文件),如果要取消忽略,同样的操作从忽略列表中移除即可


12、版本回退、

有时候我们做了修改,但是想看之前旧版本,可以如下操作:

在要回退的文件上点右键---->tortoiseSvn---->update to vevision

选show log ,选中要回退的版本,点ok即可

原文地址:http://www.hu-rong.com/Article/view/id/196.html  欢迎转载

13、提交冲突

如果多人开发一个项目,可能几个人同时在修改一个文件,这时候就会有冲突,表现为:svn update时,可以在当前目录看到,会产生一些临时文件(文件上有个问号),

解决办法:

A合理规则项目模块,合理分配开发时间,减少冲突

B项目合并,也就是大家商量一下都改了哪里,然后把这个文件都修改成一样的


14、配置权限

上面进的都是在匿名用户下进行的操作,如果在多人开发环境下,这显示是不合适的,下面介绍如何配置权限

在每个项目的config文件夹下,都有三个文件:

svnserve.conf 系统默认配置文件,先将匿名用户权限关闭

authz 用户权限配置文件

passwd 用户的用户名及密码配置文件

如果要使authz和passwd文件中的配置生效,需要将svnserve.conf中的这两荐配置开启:

# password-db = passwd
# authz-db = authz

找到这两行,将前面的#去掉即可

然后打开passwd文件,在[users]下添加用户,前面的是用户名,后面的是密码

[users]

zhangsa = 333
lisi = 444

wangwu=555

再打开authz文件,配置权限

先在[groups]下添加分组,假如zhangsan,lisi做php程序,wangwu做web前端
php = zhangsan,lisi

web = wangwu

然后配置具体目录的权限,由于我们上面服务监听的是两个项目的上层目录,所在这里要加上项目名,如果单项目用/表示项目根目录,不用写项目名,如:[/App/Action],下面是多项目时监听所有项目上级目录时的写法

[api.detrumtech.com:/App/Action]

@php =rw

* =

[api.detrumtech.com:/App/Tpl]

@web = rw

* =

上面的配置表示php组的可以对/app/Action目录读书操作,web组只能对/app/Tpl目录进行读写操作,* =表示其它人对此目录没有任何权限;

配置完成后,我们再进行svn操作时,就需要输入用户名和密码了;


15、配置开机启动svn服务

配置svn服务开机启动

 

sc create MySvn binPath=  “d:/svn/server/bin/svnserve.exe -r d:/svn/project --service" start=  auto

 

sc create:关键字(创建服务)

MySvn:服务名称

binPath:启动命令的路径

start= auto:开机启动

 

注意:binPath 和 start 后面都有一个空格

然后去系统服务里检查一下是否成功开启,如果没有可以先手动开启一下。这样就不需要像第4步那样,一直把dos窗口开着了。

赞:(0)
踩:(0)
相关文章
phpexcel设置行高及列宽,背景颜色,
单点登录sso原理及php实现方式及de
在php中用curl请求java接口无法获
免费ip地址查询接口
php,java,android, aes加解密-加密
地图上计算两点间的距离
关于百度地图的一些技巧
php中empty,is_null,isset的区别
windows及linux下composer安装教程
一种精妙的数据查询与存储方式
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:610篇
浏览数:953068
粤ICP备18028092号-1  微信:hurong241