svn版本控制详细使用教程

  • 格式:docx
  • 大小:20.29 KB
  • 文档页数:7

SVN---源代码版本控制

CVS、RSS

SVN安装 现在我们svn软件已经安装好了,该软件是管理我们程序源码。

现在需要把每个仓库相关的硬件、软件都给创建出来。

仓库已经创建好

需要给仓库运输粮食,就是我们自己的源程序代码需要通过仓库管理。

各个地方供应商和齐齐哈尔粮食仓库建立联系。

程序员客户端要与svn建立联系。通过专门软件建立联系。

[小乌龟]软件

程序员客户端与svn版本库建立联系

(一) 右键-----》svnCheckout

该步骤说明客户端还没有找到仓库服务器。

说明仓库还没有挂牌运行。

svn仓库运行会占用3690端口号码(> netstat -ano)

占用的进程号码是5400

通过“任务管理器”查看5400是否是svn服务

本地代码上传到svn服务器里边。

右键---》svn---》add

右键---》commit(提交)

开启匿名用户权限

在此配置文件可以开启匿名用户权限操作。

svn使用:

1) svn服务器端安装

2) 创建各个小的仓库(shop cms book)

svnadmin create d:/svnServer/myapp/shop、cms、book

3) 仓库挂牌营业

svnserve -d -r 仓库目录地址

4) 各个小地方的供应商与仓库建立联系(安装小乌龟软件)

使用小乌龟软件

右键------->svnCheckout(检出)

5) 使用svn,建立源码文件上传到svn服务器里边 svn软件已经安装好了

齐齐哈尔 右键------》svn-----》add

右键------》commit

我现在挂牌营业的版本库是shop。

实际情况是我创建了3个版本库(shop cms book)

我们现在要求3个版本库都挂牌营业。

svnserve -d -r d:/svnServer/myapp/shop

svnserve -d -r d:/svnServer/myapp/cms

svnserve -d -r d:/svnServer/myapp/book

【同时运行多个版本库】

现在我的svn主机名localhost是指引到d:/svnServer/myapp/shop下边

那如果我们svn版本库挂牌营业的目录走到 d:/svnServer/myapp

那么localhost就指引到myapp这个地方

现在lihao与svn服务器建立联系,需要使用book仓库

/conf/文件

创建多个svn版本库

挂牌启动svn版本库服务,其目录路径是各个版本库的上级目录

具体客户端与svn建立联系,其主机名是svn:/localhost/book(仓库名字)

多级目录版本库使用,原理与单级目录一致

多级目录下边小的版本库需要分别创建出来 svnadmin create

设置环境变量后,重启启动dos命令行

如果还不可以使用svnadmin

【版本还原】

每个svn控制源码文件,都可以还原为之前的某个具体版本(只要改文件有进行commit版本设置)

在进行源码版本还原的时候

可以还原为之前的具体版本

如果当前版本号码是之前的某个版本,系统也允许我们还原为之后的具体版本。

只要在svn服务器里边存在的版本号码,我们可以任意切换。

我们对源文件该名字的时候,需要考虑清楚,旧名字 对应的版本号码就不见了 给文件改名字总结:

旧文件对应的版本号码就其本身自己的

新名字文件对应的版本号码也是其本身自己。

给文件改名字建议:新创建出来一个文件,名字就是新名字,把旧文件内容复制一份过来就好。这时在系统有存在两个文件(新 和 旧文件)

【svn主机名更换】

我们使用“小乌龟”客户端

该客户端并不能直接修改主机名。

我们可以让客户端更改svn版本库

1. 删除当前客户端里边的隐藏文件.svn

如果客户端的项目目录里边有许多文件夹目录,那么每个文件夹里边的svn也需要删除.

2. 右键-----》checkout重新建立版本库

我们给svn服务器添加信息的文件、目录

文件:

右键----》add && commit

目录,目录里边有文件

右键(目录)----add && commit

【对文件提交操作commit】

1. 可以对单个文件进行修改,右键----》commit

2. 我们可以在空白处点击右键------》commit,这时候系统会自动把已经修改的文件给我们赛选出来供commit上传。

3. 在空白处右键-----》commit,也会把没有版本号的文件给我们选择上,让我们commit操作,这时候会把add和commit操作合并为一个commit操作

4. 我们在空白处右键------》commit,会把修改的文件 和 新创建的文件都给我们列出来,供我们commit操作

【svn可以屏蔽某个文件上传或屏蔽某个系列的文件上传】

关于svn上传禁止设置

1. 对单独文件进行设置

2. 对一系列文件进行设置(后缀名都是一样的)

3. 还可以对文件解禁,让其恢复自由身,继续给svn上传

【冲突处理】

团队的每个成员9:00来公司上班,做的第一件事情就是update,把svn版本库的最新代码更新到自己本机,再开始一天的工作。

(一) 两个人同时操作一个文件,但是他们操作的是不同行的代码。

第二个提交的成员,需要先进行update操作(svn已经把前后两个人的修改合并为一个文件),才可以commit重新上传

(二) 两个人修改文件相同地方的代码。相同行、相同地方

后修改的成员需要做”update”操作,会给有冲突的文件产生三个文件(mine、旧版本文件、新版本文件),这个三个文件知道意思后需要都删除

我们程序源码在产生冲突的地方会显示 “======== <<<<<< >>>>>>

mine 新版本号码” 等信息,后修改程序员只需把这些没有用的信息删除,把两个人的修改调整好(兼容好)重新提交到服务器。

【多个用户使用svn】 多用户使用svn版本库

1. 修改文件conf/

开启passwd 和 authz功能

2. 在passwd里边设置用户名和密码

3. 在authz里边给具体用户分配权限

4. 只开启passwd,没有开启authz,这样登录的 时候要求输入用户名和密码,权限有可读、可写。

5. 我们的用户可以进行分组,给每个分组设置具体权限

【设置svn变成系统的服务】

win7同学对以上命令可以这样执行:

启动svn,new start svnnewed内容写进一个批处理.bat文件

给服务器创建svn服务

1. 使用指令sc create svnd binPath= “d:/svnServer/server/bin/ -r

d:/svnServer/myapp --service” start= auto 创建服务

2. 开启服务(通过计算机管理自行开启服务)

3. 把服务删除sc delete 服务名称 【svn使用真实场景模拟】

1. 用户1给svn版本库提交文件

2. 用户1通知系统管理员(可以通过邮件通知),有文件需要被上传到linux服务器

3. 系统管理员到svn去update,把最新的程序文件下载到本地

4. 系统管理员把需要上传的文件“复制”到linux服务器就ok了。

总结:

1. svn服务器软件安装

2. 创建svn仓库 svnadmin create

3. svn仓库挂牌使用 svnserve -d -r xxxxx

4. 多个仓库同时挂牌使用,svnserve -d -r 仓库地址是多个仓库的上级目录地址

目录/目录/分级仓库名字

5. 禁止某些文件上传到svn

6. 文件还原,文件各个版本可以随意切换

7. 每次写程序之前最好使用update,把系统的程序文件更新

8. 程序代码修改完毕后执行commit,同时会创建版本号码,一般1个小时左右执行一次commit操作或有大的改动的时候立即commit操作

9. 可以设置多用户使用svn、可以设置用户名和密码,还有读、写权限

10.版本冲突(解决:update操作,调整代码就可以上传)

11.把svn设置为开机自动启动服务 svn源码版本控制

用户1

用户2

用户3 用户4

系统管理员 linux服务器

运行php程序 复制 作业:

1. 我们每个同学都可以创建svn版本库(挂牌使用)

2. 同学自己建立分组,有小组长和组员

小组长负责搭建svn服务版本库,组员连接小组长的版本库,大家一起开发同一个项目。

具体程序项目自己选(lib/controller

model)