SVN使用手册说明_第1页
SVN使用手册说明_第2页
SVN使用手册说明_第3页
SVN使用手册说明_第4页
SVN使用手册说明_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论