版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SVN使用手册
如果开发过程中没有SVN?
软件研发过程中,任意一个项目都是由一个团队完成的,而不能依靠单一个体完成。
在团队开发过程中,资料数据的共享与同步将成为开发过程中比较突出的问题。
图一:原始开发管理模式(COPY模式)
缺点:
♦代码管理混乱
♦备份多个版本,占用磁盘空间大
♦解决代码冲突困难
♦容易引发BUG
♦难于追溯问题代码的修改人和修改时间
♦难于恢复至以前正确版本
♦无法进行权限控制
♦项H版本发布困难
为保障团队开发过程中人员沟通各方面成本的降低,必须使用一种有效的方式减少沟通环节,
提高开发效率,对资源的共享进行管理。
图二:现阶段的开发管理模式(Tools模式)
相关概念:
服务器server专用的硬件服务器
仓库repository专用于某个项目的磁盘空间,位于硬件服务器中
检出checkout一次性工作,下载代码并完成与服务器间的关联
上传/提交commit多次工作
更新update多次工作
记录日志logger记录操作相关的信息,包括动作,用户,时间,信息
版本号码version记录文件被操作的次数,即版本数
作为一个管理共享资源的工具必须具备以下几点:
1.能够记录日常事务中所有的文件的新建,编译,删除
2.能够记录文件的操作人,操作时间,操作描述信息
3.对于同一个文件,能够提供更多的历史版本供适用者参考
4.对于不同的文件,能够提供更高的管理权限,限制用户的使用能力
5.对于不同的项目/Case,能够提供更多的空间管理模式
6.对于不同的用户,提供远端访问支持,使用户更快捷进行资源共享
什么是版本控制
版本控制(Revisioncontrol)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生到定案的过程。
是一种记录多个文件内容变亿,以便将来查阅特定版本修订情况的系统。
三.主流的版本控制工具
VSS:VisualSourceSafe(MicrosoftVisualStudio成员)主要任务是负责项目文件的管理
CVS:march-hare出品的一套用于进行文件版本控制软件
SVN:Apache软件基金会名下的一套用于进行文件版本控制软件
四.SVN是什么
SVN(subversion)是近年来崛起的版本管理工具,是cvs的接班人。日前,绝大多数开源软件都
使用SVN作为代码版本管理软件。不要狭义的理解只服务于软件研发,很多公司都适用SVN管理
整个公司的文档
五.SVN体系结构图
六.SVN下载与安装
SubversionSetup
Information
WelcometotheSubversionSetupMMMrodmfoi>F9irrporUrXHorv«tonbtfortCttWUr^.
Wizard
WhenyouartreadytocontinuewtthSe”,ddcNext.
WelcometotheSubvertkxtInstaMtoonProgramlorWindows!
Ths1MilSugeclon1.6.^/38866anyo#corr<xjtBf.
Subvtfsion•aceopeflngrecUctmtnttorCVSOAmanypwforrm
It6recocmerded2youdoseai©r«fapcicatnns
beforecononutnQ.
5M
OdeNexttoenntnuea3Kdioe»tSebp.rfipAHue-*efwoftograoryand
Z!p*»5»Miene^Yc9oti'svMmnUCHMiGC$lormore心
Subversccsuw>ssomeexternal时meEitxanwndvMntMpec^aoe
TMpfop«fic4nMs•zhttergthtappicationcr«Md•!»*M
「%:,卬,了
S«b.<fMnCc*ynghtO200go09Coteshet
)IC1WI_|[C«W»I
“SubversionSetup卡SubversionSetup
CompletedtheSubversionSetupWizard
InstalmqSut>vefsio<i
OdetheFmhbuttonsotrfttfw$«M>
Please7i*feSet©WardnrtafcSutwsorv
Po»tiftsUltettonnot”forSubvert:
•RMdtMdocuntmafionrtebdedwthzte^txAon
Status:•FormorenfO-Freupycurbrowsecaidporttio:
h2”皿toolZdocuwleaec
•TauactoMtook■theReadnetxt«ef&tndgtheXvencntolderandliestart
•wnvtnwys*r«you8gErfyvtgetHorpM
•MootsforWiidows9KandM«enbmusers
•Addm®tietoyovfautoexectatWe(如uthepensotK»ywrifr»
MfMTt
SX7AW_XCCIcv_PATH-wC:\Piogra»Fll«s\Sutov«r»loe\lconvv
•RwtodyourmSse#y©urAutoexecWecMn^ed
BMkMtxt3Cwcti
目录层次结构
binkonvlicenses$hare
文件夹文件夹文件失
IIIin如短I
可执行指令国际化文件许可证胡议本地共享语
(重点)言转换方式
七.SVN服务端指令
SVN服务端指令是指在服务器端进行操作用于对服务器进行系统级设定与操作
1.查看svn版本信息
svnadmin--version
2.创建数据仓库
svnadmincreateE:\repository\svn\itcast
准备工作
a)首先手动创建磁盘目录作为总数据仓库:E:\repository\svn
b)再手动创建磁盘目录作为具体的数据仓库:E:'(repository\svn\itcast
c)执行指令将指定目录设置为具体的数据仓库
指令结果
将设置指定目录为SVN仓库路径,用于保存共享数据
卜।conf卜F"I।hooksk卜locks
1I立件夹|I立件/II0件安(I2件安
conf目录存放版本库所用配置文件的目录
authz授权信息
passwd用户安全信息,包含用户名与密码
svnserve.conf服务相关信息
db目录版本数据存储目录
hooks目录存放版本库勾子目录
locks目录存储库锁目录,用来跟踪库的访问者
注意事项
创建数据仓库对应的路径必须存在,而被创建的仓库名称路径则自动创建
3.启动SVN服务器(单仓库)
svnserve-d-rE:\repository\svn\itcast
准备工作
a)必须存在该路径,且是一个有效的SVN数据仓库
指令结果
启动对应的数据仓库,作为服务,等待响应用户的SVN管理操作
4.启动SVN服务器(多仓库)
svnserve-d-rE:\repository\svn
准备工作
a)必须存在该路径,并且其中包含有效的SVN数据仓库路径
指令结果
启动对应目录下所有的数据仓库,作为服务,等待响应
注意事项
多仓库启动模式下只有有效的仓库路径才可以被加载
八.SVN图形用户界面操作——TortoiseSVN
TortoiseSVN是一款基于SVN服务器的图形化操作用户界面工具。TortoiseSVN提供了基于鼠标操
作为主导的SVN版本控制管理工具
安装完毕后,对当前操作系统重新启动,启动完成后,系统主菜爸加入了使用TortoiseSVN对SVN
服务器进行管理的工具
§^(v)►
公的方式(0)►
BSWr(E)
粘贴(P)
图形写性…
►
&引NVIDIA控制面板
TortoiseSVN►
新建(W)►
a
康小工艮(G)
a4^t(R)
使用TortoiseSVN完成SVN版本控制管理
服务器相关操作
1.创建数据仓库
svnadmincreateE:\repository\svn\itcast
在任意不是SVN数据仓库的目录中右键打开菜单,选择将当前目录创建为数据仓库
S§(V)►
据初式(0)►
斓侬⑻,
冠新(E)
白定义文件夹(F)…
粘贴(P)
粘的R捷方式⑸
搏消删除(U)Ctri+Z
共享(H)►
㈤SVNCheckout..
虱Repo-browser
新建(W),Export..
属性(R)
Irnport^^^
健Settings
?Help
#About
注意:满足如下条件之一,将弹出如下错误提示
•当前目录已经是数据仓库
・当前目录是数据仓店的子目录
TortoiseSVN
Subversionreportedanerrorwhilecreatingarepository!
Makesurethefolderisemptyandnotwriteprotected.
OK
»J
2.启动SVN服务器(单仓库)
svnserve-d-rE:\repository\svn\itcast
日常工作中,SVN服务器多采用独立硬件服务器构建,并发布为服务启动,因此无需进行手工启
动服务器的操作
3.启动SVN服务器(多仓库)
svnserve-d-rE:\repository\svn
口常工作中,SVN服务器多采用独立硬件服务器构建,并发布为服务启动,因此无需进行手工启
动服务器的操作
客户端相关操作
1.检出数据仓库信息(多仓库)
svncheckoutsvn://192.168.1.100/itcast.
创建新目录,用于本地保存SVN服务器对应的本地文件,并在目录中执行如下操作,即可创建于
SVN服务器的关联
既(V)►
^«3E(P)►
扇新(E)
站站(P)
粘贴快捷方式(S)
制$S^(U)Ctrl+Z
共享(H)►
^^SV^CheckoutZ^"
新建(W)►
IS性(R)
设置SVN服务器仓库名称与检出保存到对应的目录路径
与SVN服务器进行有效关联后,对应的文件夹将以特殊图标的形式呈现
project
文件夹
2.将本地文件/目录加入版本控制
svnaddUser.java
在本地仓库中新创建的文件/目录,不受SVN服务器控制,需要先将其加入版本控制,对新建文件
/目录点击右键,通过菜单完成加入版本控制
打开9)
ra(p)
㈣E)
目使月新毒霸进行扫疳
打开方式(H)►
Repo-browser
Add...
Addtoigrorelist
Settings
Help
About
上传到百度云
加入版本控制后,对应的文件/目录将以特殊图标的形式呈现
Userjava
JAVA文件
0^5?
此时,由于本地仓库中存在有与SVN服务器中不同步的信息,因此图标发生变化
project
3.将加入版本控制的文件/目录提交到服务器
svncommitUser.java
在待提交的文件上面通过右键菜单,完成对SVN服务器的提交操作
I圆使用新毒霸进行扫描
KSVNCommit...
。TortoiseSVN
UltraEdit
添加到压缩文件(A).“
添加到,project.rar"(T)
压缩并E-mail...
压缩到.project.rar"并E-mail
日上传到百度云
自动备份到百度云
选择提交后,打开提交对话框,输入提交日志信息
提交成功后,返回提交成功信息【口1执,同时被提交文件/目录的图标发生变化
Userjava
JAVA文件
。字55
提交失败后,返回提交失败错误原因
4.更新本地版本为SVN服务器最新版本
svnupdate
在待更新的文件/目录/工程上面通过右键菜单,完成从SVN服务器进行更新的操作
打开(。)
打HKP)
*E)
目使用新毒霸进行扫描
方式(H)►
^TSVNUpdate
/TortoiseSVN►
④UltraEdit
液添加到压缩文件(A)...
更新完毕后,弹出对应的提示信息
5.删除本地文件
svndeleteUser.java
在待删除的文件/目录上面通过右键菜单,完成本地文件/目录的删除操作,该操作在未提交之前是
可恢复的
打开@
打印⑻
懒(E)
园研相霸进行扫推
方式(H)>
USVNUpdate
3SVNCommit...a
TortoiseSVNDiffwithpreviousversion
&
UltraEdit1Showlog
添力二至厄建文*A)…乳
Repo-browser
巴
添加到,User.r*-(T)Checkformodifications
仪
压缩并三Revisiongraph
'User.rar-fl
0Updatetorevision...
上传到百度云JRename...
自动缶份到百度云Delete
QGetlock...
KBranchAag-
还原以前的版本(V)
=%Switch...
发送到(N)、Merge...
6.恢复本地文件
svnrevertUser.java
对已删除的文件/目录,在未进行提交操作之前,可以对其进行恢复。在任意位置通过右键菜单完
成。
S^(V)►
均骅方式9)►
分组依周P)►
BSSFr(E)
星Showlog
自定义文件夹
(F).“良Repo-browser
黏贴(P)气Checkformodifications
伙Revisiongraph
麻肖腾除(U)Ctrl+Z0Resolved...
共享(H)►IfUpdatetorevision...
QRevert...
aSVNUpdate
VCleanup
/SVNCommit..
QGetlock...
圮TortoiseSVN►
3Releaselock
新建(W)►
aBranch/tag-
硝R)鼻Switch...
选择恢复后,出现对话框,选择要恢复的文件/目录,然后完成恢复操作
选择确认操作后,完成恢复操作
7.提交冲突问题
在进行正常的提交时,如果本地版本与服务器版本不相同,会引发冲突问题。
解决冲突问题共分为三个步骤:
步骤一:获取服务器最新版本
同时,针对版本不统一的文件信息,会生成对应的文件,供用户查看
WorkerJavas.Workerjava.minexWorkerjava.rllWorkerjava.rl2
IJAVA文件司MINE文件40|Rll文件4Q|R12文件
jh一IMS字节____I61字节[16字节]65字节
带有黄色惊叹号的文件表示当前文件与SVN服务器中的文件冲突,并已将冲突内容进行了合
并,需要用户手工修改。
.mine后缀的文件是用户在更新之前的最后修改版本内容,可通过原始编辑器查看
.r*后缀的文件是当前文件对应的各个版本的文件内容,r后面的数字是版本号,可
通过原始编辑器查看
步骤二:查看并修改冲突文件
打开原始文件,其中包含有冲突内容,用户根据需要进行调整
步骤三:删除冲突备份信息,并进行提交
将除冲突文件之外所生成的所有文件进行删除,并对原始文件进行合并冲突处理后,原始文件
状态由冲突状态转换为己编辑状态。
鼻WorkerjavaLAWorkerjava
IJAVAI|JAVA文件
▲一I148字弓O.110^75
此时即可正常提交,实际开发此现象大多发生在公共配置文件或系统配置文件上。
界面操作解决方案:
步骤一:获取服务器最新版本(同上)
步骤二:查看并修改冲突文件
打开(0)
打印(P)
爆第(E)
国使用新毒霸法行打而
打开方式(H)Diff
aSVNUpdateDiffwithpreviousversion
夕SVNCommit..Showlog
Repo-browser
Checkformodifications
UltraEdit
Revisiongraph
溢力Dfil国I岐做A)…
添加到"Worker.rar'CD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班主任职业发展的思考计划
- 幼儿园小班启发式学习活动安排计划
- 信息安全管理计划
- 土地与环境教育活动安排计划
- 推动团队多样性与包容性计划
- 小学运动场翻新排危工程(随机抽选)招标文件
- 项目部安全培训试题带答案(轻巧夺冠)
- 公司主要负责人安全培训试题及参考答案(考试直接用)
- 新职工入场安全培训试题附完整答案【必刷】
- 厂级安全培训试题附答案(巩固)
- 2024年文化和旅游部直属事业单位招聘历年高频500题难、易错点模拟试题附带答案详解
- 《林教头风雪山神庙》名师课件2
- 医疗行业智能化医疗设备维修与保养方案
- GB/T 44236-2024增材制造用镍钛合金粉
- 2024年黑龙江省哈尔滨市道里区执法局招聘52人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 2024-2025学年人教版一年级数学上册 第二单元测试卷
- 2024-2025学年八年级物理上册 3.2 熔化和凝固教学设计(新版)新人教版
- 苏教版英语小学四年级上学期2024年复习试卷及解答参考
- 2024-2025学年八年级地理上册 第一章 单元测试卷(人教版)
- 2024年初级银行从业资格《个人理财》考试试题
- 2024年新苏教版六年级上册科学全册知识点(超全)
评论
0/150
提交评论