文档详情

svn版本控制详细使用教程

suij****uang
实名认证
店铺
DOCX
1.60MB
约34页
文档ID:172144863
svn版本控制详细使用教程_第1页
1/34

SVN---源代码版本控制CVS、RSSSVN安装现在我们svn软件已经安装好了,该软件是管理我们程序源码svn软件已经安装好了齐齐哈尔具体什么地方造仓库要造几个仓库仓库都是装什么的现在需要把每个仓库相关的硬件、软件都给创建出来rs^>!220>sunadinincreated:ZsunSeruer/inyapp/shopZ22叽创建仓库指令♦仓库已经创建好需要给仓库运输粮食,就是我们自己的源程序代码需要通过仓库管理各个地方供应商和齐齐哈尔粮食仓库建立联系程序员客户端要与svn建立联系通过专门软件建立联系[小乌龟]软件♦程序员客户端与svn版本库建立联系:5:\名称1大和文件夹任普*_j0331phpOOSOTphp『建一个新文件夹_j0508php各这个文件夹发布到曰乾Iphp去享此文件夹白T14php(O810php曰911php位置*曰12D5php&1206php戋的电脑O412php1戋的文档_j925php1主享文档&1025php1司上邻居Ojliweij信息V本地开发程序的项目目录(一)右键》svnCheckout(二)(三)该步骤说明客户端还没有找到仓库服务器说明仓库还没有挂牌运行。

svn仓库运行会占用3690端口号码(>netstat-ano)C:XDocLimentsandSettings\X220>netstat-anoActiueConnectionsProtoLocalAddressForeignAddressStatePIDTCP0.0.0.0:800.0.0.0:0LISTENING2400TCP0.0.0.0:1350.0.0.0:0LISTENING1796TCP0.0.0.0:4450.0.0.0:0LISTENING4TCP0.0.0.0:16230.0.0.0:0LISTENING2540TCP0.0.0.0:33060.0.0.0:0LISTENING3400TCP0.0.0.0:36900.0.0.0:0LISTENING2712TCP0.0.0.0:36900.0.0.0:0LISTENING5400TCP0.0.0.0:65490.0.0.0:0LISTENING4?08TCP0.0.0.0:80310.0.0.0:0LISTENING4708aaaa-oran-innnn■nTTOTT7UTac占用的进程号码是5400通过"任务管理器"查看5400是否是svn服务本地代码上传到svn服务器里边。

右键---》svn---》add右键---》commit(提交)开启匿名用户权限在此配置文件可以开启匿名用户权限操作12131416nnnana-nonampleanon-access=writettanon-access=readttauth-access-wriLuseminqsoeiouareuneaetauirs.writ己可读、可与权限read就是只读ttttttThepassuord-dboptionttttttdatabasefile.UnlesstttttttheFile'slocationistttttti~hicr'nnf-innf-i1controlsthelocationoFthepassuor(youspecifyapathstartingwitha/.relatiuetothedirectorycontainingD:Ie™Server''i.myapp'ymhnpIdb牛和文件夹任务*创建一个新文件夹将这个文件夹发布到Web共享此文件夹shop我的文档共享文档我的电脑网上邻居|蜜5”十,具体版本东志信息互学膏:■.,revprops十一只1文件夹版本库的源码文件夹七tr:=ltlsactions文件夹」txn-protorevE文件夹珂cijitent1KB文件Wformat1KB文件目£e£s.conf2KB文本文档W£s-type1KB文件固mir-iiTLpacked~rev1KB文件|rep~cache,db4KB数据库文件2±f|txrL"ciirrerLt1KB文件国txri"cijitent"!ock0KB文件剁uuid1KB文件write-lock0KB文件svn使用:1)svn服务器端安装2)创建各个小的仓库(shopcmsbook)svnadmincreated:/svnServer/myapp/shop、cms、book3)仓库挂牌营业svnserve-d-r仓库目录地址4)各个小地方的供应商与仓库建立联系(安装小乌龟软件)使用小乌龟软件右键>svnCheckout(检出)5)使用svn,建立源码文件上传到svn服务器里边右键》svn》add右键》commit/EAliwei名称度件夹任碧吉一个新文件夹W个文件夹发布到E此文件夹大小|类型文件夹goods,index.IlhIIhphpphp1KB1KB1KBPHPfilePHFfileFHFfileUEer.php1KBFHFfile文件的标志变成“红色”的感叹号,H磁盘(E:)成档E文档勺电脑道user,php与服务器版本对比看到差异了?其不然,卖际是与本地的.mvn做的对比。

C:^DocumentsandSettings\X220>sunserue-d-rd:/sunSeruer/nyapp/shop我现在挂牌营业的版本库是shop实际情况是我创建了3个版本库(shopcmsbook)我们现在要求3个版本库都挂牌营业svnserve-d-rd:/svnServer/myapp/shopsvnserve-d-rd:/svnServer/myapp/cmssvnserve-d-rd:/svnServer/myapp/book【同时运行多个版本库】CheckoutdirectoryRepositoryURLdFrBUDsiEry:syni/yiocalhustsvn主机名默认走到mhci口下边C:XDocumentsandSettings\>!220>sunsei'ue-d-vd:/sunSepuev/myapp/shop.鬻Checkout现在我的svn主机名localhost是指引到d:/svnServer/myapp/shop下边那如果我们svn版本库挂牌营业的目录走到d:/svnServer/myapp那么localhost就指引到myapp这个地方现在lihao与svn服务器建立联系,需要使用book仓库你得snv服务器主机名就可以这样写:svn://localhost/bookC:XDocunentsandSettingsXX220>sunserue-d-fd:/sunSeruer/riiFapp'设置多个版本库,将服务器目录启动到各个版本库的上级目录yE:\lihao|名称土一~|大小|类型文件夹任薯*皂一个新文件夹客个文件夹发布到志此文件夹J.日仔,.,…文件Jyindex,php1KBFHFf新文件创建技,首先执行MdJ圈乍原理:就是我文件与本弛管理员(.svn)建变联系置穴也磁盘(E:)勺文档志文档/conf/svnserve.conf文件1314161819andauthenticatedusers.ualidualuesare"write","read",ItiHtand"non叶.The共叩邛settingsbelouarethedeFaults.anon-accews=writettanon-accessttauth-accessttttttttttttttttttttttttttttttreadwriteThepassuord-dboptiondatabaseFile.UnlesstheFile■slocationis开启匿名用户访问svrj艮务器权限Icontrolsthelocationofthepasswordyouspecifyapathstartinguitha/,relatiuetothedirectorycontainingthisconfigurationFile.IFSASLisenabled(seebelou),thisFileuillNOTbeused.勺电脑创建多个svn版本库♦挂牌启动svn版本库服务,其目录路径是各个版本库的上级目录♦具体客户端与svn建立联系,其主机名是svn:/localhost/book(仓库名字)♦多级目录版本库使用,原理与单级目录一致多级目录下边小的版本库需要分别创建出来svnadmincreatecheckout的时候把主机名写正确svn://localhost/目录/目录/版本库名称设置环境变量后,重启启动dos命令行如果还不可以使用svnadmin【版本还原】每个svn控制源码文件,都可以还原为之前的某个具体版本(只要改文件有进行commit版本设置)在进行源码版本还原的时候可以还原为之前的具体版本如果当前版本号码是之前的某个版本,系统也允许我们还原为之后的具体版本。

只要在svn服务器里边存在的版本号码,我们可以任意切换From:12013-7-18十|To:Messages^authorsandpaths2013-7-18VjRR.evisionActionsAuthorftDateM已55己g已ior*11:54:54,£013年了月18日8888888日88888811:54:37,ZCI13年了月1日日11:54:18,£口13年了月18日?7777777777777该宝件君宇已经i^3?index_new.phprnrrrimplePAhistorydeselect'5tuponLupyi'reriarne1带麝脖件改名字后,改成函皿.n已w.php,旧名字index,php的版本我们对源文件该名字的时候,需要考虑清楚,旧名字对应的版本号码就不见了给文件改名字总结:♦旧文件对应的版本号码就其本身自己的♦新名字文件对应的版本号码也是其本身自己♦给文件改名字建议:新创建出来一个文件,名字就是新名字,把旧文件内容复制一份过来就好这时在系统有存在两个文件(新和旧文件)【svn主机名更换】li2^E:\liwei名称二I大小化型I修改B期即建一个新文件实等这个文件夷发布到'eb主享此文件夹.svnIgoods,phphello.phpindex,phpuser,php1KB1KB1KB1KB文件夹PHPfileFHFfilePHPfileFHFfile201320132013201320137-1310:497-1S10:387-1S10:457-189:547-1810:48liwei一开始使用d:/svnServer/myapp/shop,并且其主机名:svn://Iocalhost苴地磁盘(S:)戋的文档去享文档现在我们1ocalhostta^linyappsvn://localhost/shop现在1iwEi的主机名箫要更演为我们使用“小乌龟”客户端该客户端并不能直接修改主机名。

我们可以让客户端更改svn版本库删除当前客户端里边的隐藏文件.svn如果客户端的项目目录里边有许多文件夹目录,那么每个文件夹里边的svn也需要删除.右键》checkout重新建立版本库我们给svn服务器添加信息的文件、目录文件:右键——》add&&commit1. 目录,目录里边有文件右键(目录)——add&&commit【对文件提交操作commit]可以对单个文件进行修改,右键----》commit我们可以在空白处点击右键》commit,这时候系统会自动把已经修改的文件给我们赛选出来供commit上传2. 在空白处右键》commit,也会把没有版本号的文件给我们选择上,让我3. 们commit操作,这时候会把add和commit操作合并为一个commit操作我们在空白处右键——》commit,会把修改的文件和新创建的文件都给我们列出来,供我们commit操作发送到您)耍切(T)困添加到压箱文件(A)...W添加到“项目说明文档虽压箱并E-mail...困压箱到"项目说明文档匕使用%□解除占用品使用郭强力删除【svn可以屏蔽某个文件上传或屏蔽某个系列的文件上传】打开编辑3)新建®打印(1)另存为堡)...打开方式(U)0使用漩杀毒扫描弗口文件堡壑保护IBIS■jid.■Jle.■Jl£.UM击]add嗣bulSigOC虻|h罚照]irn:团心稣]use此项1筷览(V)编辑(E)打印(P)打开方式(H)►建使用明。

杀毒扫描◎使用360^件堡垒保护TortoiseSW►使用%口解除占用目使用3如强力删除贸添加到压缩文件兔)...至添加到"Ic.rai-'tT)国压缩并E-mail...目压缩到"1c.rar*并E-mail发送到重)92KBJPEG图像200T-7-1474KBJPEG图像200T-S-2870KBJPEG图像2009-11-313KBJTEG图像2008-1-129KBJTEG图像2005-12-11KBFHFfile2013-7-180KB文本文档2013-7-181KB交本文档2013-7-18H3-7-18H3-7-18in-7-iR*•jpg113-7-18113-7-18113-7-18文件夹文件夹1KBFHFfile0KB交本文档1KB文本支档1KBFHFfile1KBFHFfile1KBFHFfile0KBga?nnv寸;0KB交怕3」中F1KBFHFfile将忽略列表*.jpg»:,这样我们的僵片又允许上隹了也切度)白出ilFl、关于svn上传禁止设置1. 对单独文件进行设置2. 对一系列文件进行设置(后缀名都是一样的)还可以对文件解禁,让其恢复自由身,继续给svn上传【冲突处理】1KE艾本页科2013-7-1:2013-7-limirie|hello,php6]index,phpl^jitcastLiSOT.docx宏Irhd.txt扣user,php•J项目说明T®.doc&新建支本文档.txt2013-7-Hf■当刖文件S健反痴文件2013-7-1:7前文伯曜也景新的31版本球-i1KEPHPfile2013-7-1;1KEPHPfile0KEWord2007文档0KB文本文档2013-7-H2013-7-li2013-7-li两个人修改同司%家蜂g对£同一处代码;m解的时候?3系2013-7-1:团队的每个成员9:00来公司上班,做的第一件事情就是update,把svn版本库的最新代码更新到自己本机,再开始一天的工作。

一)两个人同时操作一个文件,但是他们操作的是不同行的代码第二个提交的成员,需要先进行update操作(svn已经把前后两个人的修改合并为一个文件),才可以commit重新上传(二)两个人修改文件相同地方的代码相同行、相同地方后修改的成员需要做"update”操作,会给有冲突的文件产生三个文件(mine、旧版本文件、新版本文件),这个三个文件知道意思后需要都删除我们程序源码在产生冲突的地方会显示“========<<<<<<>>>>>>mine新版本号码”等信息,后修改程序员只需把这些没有用的信息删除,把两个人的修改调整好(兼容好)重新提交到服务器多个用户使用svn】iiihiand'none、-inesanpmsenningsoeiouaremeoet-auirs.121314161819232425262728293132anon-access=nullttanon-access=readttauth-access=write禁止匿名用户使用###Thepassword-dboptioncontrolsthelocationofthepassword###databaseFile.Unlessyouspecifyapathstartingwitha/,###theFile'slocationisrelatiuetothedirectorycontainingttttttthisconfigurationFile.ttttttIFSASLisenabled(seebelou),thisFilewillNOTbeused.ttttttUnecimmBnl:thelinptousethedefaultpasswordFile.passviord-db=passud设置用户名和密码nnnmeautnz-aooptioncontrolsthelocationoftheauthorizationttttttrulesforpath-basedaccesscontrol.Unlessyouspecifyapathttttttstartingwitha/,theFile'slocationisrelatiuetothethettttttdirectorycontainingthisFile.IFyoudon11specifyanttttttauthz-db,nopath-basedaccesscontrolisdone.IHtltUneQmmpntthe〕linebplou,tousethedefaultauthorizationFile.authz-db=authz踣具》本用卢设苗京写叔限nnninisoptionspecifiestheauthenticationrealmoFtherepository.ttttttIFtuorepositorieshauethesameauthenticationrealm,theyshould###hauethesamepassworddatabase,anduiceuersa.Thedefaultrealm###isrepository'suuid.[users]ttharry=harryssecretttsallu=sallussecretliwei=liweilisi=lisiliqiang=liqiang给svnshop版本库系统创建了三个账号3334353637>38liwei=rwliwi=rwliqiang=r分配5\是读写权限%”是只读只限202122232425262728293031323334353637383940414243IlII给svn用户进行分组[groups]php=uangjian.lingping,qiucheng,hongdahtml=xinchuan,lisi,lihao,lihuainnarry_ana_sa±iy=narry,saiiyttharrysallyandjoe=harry,sally,&joett[/foo/bar]ttharry=rwtt&joe=r#*=tt[repository:/baz/Fuz]tt@harry_and_sally=rw[shop:/]#liwei=rw#lisi=rw1tli(]iang=r@php=ru给具体分组设置极限@html=r我们的仓库有分级目录我们只开启了一个仓库,没有分级仓库版本库地址目录--merviuystar-t=p~a[Lito两个地方有空格,需要注意,否则服务创建失败3940 ttliwei=rw41 ttlisi=rw42 ttliqiang=r43 @php=rw@html=r►45多用户使用svn版本库修改文件conf/svnserve.conf开启passwd和authz功能1. 在passwd里边设置用户名和密码2. 在authz里边给具体用户分配权限只开启passwd,没有开启authz,这样登录的时候要求输入用户名和密码,权限有可读、可写。

我们的用户可以进行分组,给每个分组设置具体权限【设置svn变成系统的服务】开机自动启动svn服务开机自动启动svn服务sccreatesvndbinPath^行服务的脚本程序路径名I^d:/svnServer/server/bin/己巳-巳x巳一5d:/svnServer/myapp--serviced七自丁七=日u/oC:XDocumentsandSettings\>{220>sccreatesunedbinPath=:ZsunSeruer/seruer/bn/sunserue.exe-rd:ZsunSeruer/myapp—seruice"start=auto[SC]CreateSeruiceSUCCESS服务成功!C:XDocumentsandSettings\X220>netstartsunneuedsunnewEd服务正在启动:sunnEWEd服务己经启动成功C:^DocumentsandSettings\X220>netstopsunnewedsunnewed服务正在停止.sunnewed服务己成功停止win7同学对以上命令可以这样执行:启动svn,newstartsvnnewed内容写进一个批处理.bat文件客源S麒露世*制作批处理文件来制作赢<主create.batj1KBME给服务器创建svn服务使用指令sccreatesvndbinPath="d:/svnServer/server/bin/svnserve.exe-rd:/svnServer/myapp--service"start=auto创建服务1. 开启服务(通过计算机管理自行开启服务)2. 把服务删除scdelete服务名称【svn使用真实场景模拟】1. 用户1给svn版本库提交文件computer.php用户1通知系统管理员(可以通过邮件通知),有文件需要被上传到linux服务2. 器系统管理员到svn去update,把最新的程序文件下载到本地系统管理员把需要上传的文件"复制”到linux服务器就ok了。

总结:1. svn服务器软件安装2. 仓0建svn仓库svnadmincreate3. svn仓库挂牌使用svnserve-d-rxxxxx多个仓库同时挂牌使用,svnserve-d-r仓库地址是多个仓库的上级目录地址checkout的时候,主机名:svn://localhost/目录/目录/分级仓库名字4. 禁止某些文件上传到svn5. 文件还原,文件各个版本可以随意切换6. 每次写程序之前最好使用update,把系统的程序文件更新程序代码修改完毕后执行commit,同时会创建版本号码,一般1个小时左右执行一次commit操作或有大的改动的时候立即commit操作7. 可以设置多用户使用svn、可以设置用户名和密码,还有读、写权限8. 版本冲突(解决:update操作,调整代码就可以上传)9. 把svn设置为开机自动启动服务作业:1. 我们每个同学都可以创建svn版本库(挂牌使用)同学自己建立分组,有小组长和组员小组长负责搭建svn服务版本库,组员连接小组长的版本库,大家一起开发同一个项目具体程序项目自己选(lib/controllermodel)。

下载提示
相关文档
正为您匹配相似的精品文档