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)