SVN---源代码版本控制

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SVN---源代码版本控制
CVS、RSS
SVN安装
现在我们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-----》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仓库
你得snv服务器主机名就可以这样写:
,其目录路径是各个版本库的上级目录
具体客户端与svn建立联系,其主机名是svn:/localhost/book(仓库名字)
多级目录版本库使用,原理与单级目录一致
多级目录下边小的版本库需要分别创建出来svnadmin create
checkout的时候把主机名写正确
,重启启动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.checkout 的时候,主机名:,文件各个版本可以随意切换
6.每次写程序之前最好使用update,把系统的程序文件更新
7.程序代码修改完毕后执行commit,同时会创建版本号码,一般1个小时
左右执行一次commit操作或有大的改动的时候立即commit操作
8.可以设置多用户使用svn、可以设置用户名和密码,还有读、写权限
9.版本冲突(解决:update操作,调整代码就可以上传)
10.把svn设置为开机自动启动服务
作业:
1.我们每个同学都可以创建svn版本库(挂牌使用)
2.同学自己建立分组,有小组长和组员
小组长负责搭建svn服务版本库,组员连接小组长的版本库,大家一起开发同一个项目。

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

相关文档
最新文档