SVN使用手册简易版Word文档格式.docx
- 文档编号:15982737
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:14
- 大小:361.23KB
SVN使用手册简易版Word文档格式.docx
《SVN使用手册简易版Word文档格式.docx》由会员分享,可在线阅读,更多相关《SVN使用手册简易版Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
安装方式
安装Linux的时候选择“开发用”则自带,否则需另安装SVN包。
无需安装,
直接在地址栏输入版本库的http地址
安装
Subversion
TortoiseSVN
(“小乌龟”)
无需安装,直接在地址栏输入版本库的http地址
优缺点
能查看最新及历史版本,能修改
只能查看最新版本,不能修改
能查看最新及历史版本,能修改,右键直接操作。
本文介绍在Windows平台下SVN命令行工具svn的使用。
安装文件:
Subversion——svn-1.4.6-setup.exe
TortoiseSVN——TortoiseSVN-1.4.6.11647-win32-svn-1.4.6.rar
文件的具体地址,请参考下文“2.1”章节的介绍。
1.2SVN工作原理说明
1.2.1版本库(repository)
SVN所有的数据都存储在版本库中并被任意客户端用户分享。
客户端用户通过网络连接到版本库,读写这些文件并使其他人可以看到这些修改。
1.2.2工作拷贝(workcopy)
工作拷贝是版本库中文件和目录在本地的映射。
用户并行工作,各自修改本机的私有目录和文件,最终把修改“提交”至版本库成为最终的版本。
一个工作拷贝中都会有一个“.SVN”管理目录,用来记录工作拷贝的信息、识别文件的状态。
由Subversion维护,一般你不用去管它。
✧注意:
要及时刷新你的工作拷贝,将别人的修改更新到你的工作拷贝中,防止因你的工作拷贝中文件过期而浪费时间和精力。
1.2.3修订版本(revision)
版本库接受一次“提交”,就会做一次修订,并给最新版本赋予一个修订版本号,由0开始,逐次加1。
修订版本号类似于VSS中的lable标号,更像是一次“提交”后的版本库的“快照”。
1.2.4防止修改冲突的机制
版本控制系统需要防止可能出现的修改冲突。
而SVN和VSS的机制是不同的。
VSS采用锁定—修改—解锁的模式保证某一时刻只有一个用户修改文件。
如图,
图1.1-1:
甲从版本库checkout签出同时锁定文件;
图1.1-2:
文件被锁定乙无法签出文件(checkout操作被拒绝);
图1.1-3:
甲在本地修改好文件后将其checkin,服务器上的文件被更新,并同时解锁;
图1.1-4:
文件解锁乙才能checkout签出修改,文件被checkout后再次锁定。
SVN系统通过拷贝-修改-合并的模式来防止不小心覆盖掉他人的修改。
图1.2-1:
甲、乙下载同一版本库的文件到本地工作拷贝各自进行修改。
图1.2-2:
提交修改时如果甲、乙的修改没有交迭冲突(修改的是同一版本库不同的文件,或者修改的是同一文件的不同部分),SVN会自动合并这些修改到版本库。
图1.2-3:
如果甲、乙对同一文件的修改产生交迭(修改冲突),甲先提交后乙提交时SVN提示文件A处于冲突状态,这时乙需要跟甲进行讨论,再把手工合并的文件提交至版本库。
2申请JZBYSVN用户名
2.1申请用户名的流程。
没有用户名时,可以用公共用户名jzby(密码jzby)练习SVN操作。
3SVN的基本使用操作
3.0进入工作环境
Ø
进入命令行。
开始—运行—输入cmd。
运行svn--version命令来检查你的电脑是否安装了Subversion。
如果输出显示SVN版本信息即表明电脑已安装Subversion,否则需下载安装SVN包。
确认权限。
方法一:
在浏览器地址栏输入http:
//192.168.4.46/svn,从版本库列表中选中你要访问的库,输入用户名密码,如果能打开,确认你有这个库读的权限。
方法二:
在命令行中运行svnlist命令查看版本库根目录下的目录和文件列表。
如下图,查看是否具有TestProject库的权限。
在命令行任意路径下,svnlist后面跟要查看的版本库URL地址。
如果查看失败表明你没有版本库的读权限。
✧提示:
在命令行中无论是输入URL还是路径都要注意区分大小写,大小写有误会造成操作失败。
3.1万能的help命令
使用help命令来查询svn的子命令以及子命令的各种用法会很方便。
求助格式:
1.svnhelp可以查到svn的用法和它所有可用的子命令。
2.svnhelp[子命令](例如:
svnhelpadd)
可以查看该子命令的用法以及可以使用哪些选项参数。
3.2基本的工作周期
典型的工作周期如图,
3.3拷贝版本库至工作拷贝(svncheckout)
在E盘新建一个文件夹比如workcopy,用来存放各个版本库的工作拷贝。
举例,拷贝测试库TestProject到本地工作拷贝的步骤。
切换命令行路径至E:
\workcopy>
,使用命令svncheckout来取出拷贝。
svncheckout命令后面跟版本库或其子目录的URL地址,再后面跟工作拷贝的名字。
以上命令将取出的测试库工作拷贝取名testcopy,放在E:
\workcopy下。
如果不指定工作拷贝的名字,默认和版本库同名并放在E:
打开workcopy,看是否有了相应名字的文件夹。
即为测试库TestProject的工作拷贝。
✧svncheckout还可添加--reverion(-r)参数获得历史版本。
如下命令将测试库修订号为10的历史版本,输出到名为test10的工作拷贝。
详细使用说明请用svnhelpcheckout命令查看。
✧如果输入的版本库或其子目录的URL地址错误就无法成功checkout。
比如:
输入的URL地址丢掉了http:
//,错误提示如下,
所以一定要确认svncheckout命令后的URL地址是正确的。
✧如果checkout失败,出现如下错误提示,
首先需要确认你有没有相应的权限,然后可以在原命令后添加参数“--usernameXXX--passwordXXX”输入你的用户名密码试试看。
3.4修改、编辑文件
文件内容的修改——直接在工作拷贝中修改,不涉及到命令行操作。
所做的修改如果不提交就只是在本地的修改,不会上传版本库。
如果想更改版本库目录树结构——比如添加删除等操作,就要使用svn命令
(svnadd/delete/copy),在下文3.5章节中有详细介绍。
✧如果不使用svn命令,直接在工作拷贝中添加文件,那么SVN不会将其纳入版本控制(工作拷贝的.SVN文件中不会管理此文件),即没有添加到工作拷贝的版本管理中,更无法在commit时将这个变动提交到版本库。
3.5添加文件和目录(svnadd/svnmkdir)
举例,在测试库TestProject根目录中添加一个目录calc。
方法1:
先直接在工作拷贝中新建calc文件夹,但是calc目录还没有纳入版本控制。
\workcopy\TestProject>
,使用svnadd添加新建的文件夹。
svnadd命令后面跟要预定添加的目录名。
运行输出为Acalc,表示预定添加calc目录到版本库。
方法2:
,使用svnmkdir命令。
svnmkdir命令后面跟要预定添加的目录名。
运行结果为Acalc。
此命令在工作拷贝中添加了calc目录,并预定添加到版本库中。
3.6删除文件和目录(svndelete)
举例,删除测试库TestProject中calc目录下的12.txt文本文件。
使用如下svndelete命令。
svndelete命令后面跟要预定删除的文件路径。
运行输出为D12.txt,此命令在工作拷贝中删除了calc\12.txt并预定从版本库中删除。
3.7更新工作拷贝(svnupdate)
更新工作拷贝,是比较本地.SVN里保存的原始工作拷贝和目前的版本库,将版本库中的改动吸收到本地工作拷贝中来。
应当及时更新你的工作拷贝,合并他人的修改。
使用如下svnupdate命令来更新工作拷贝,通过运行输出显示的文件状态(大写字母)来告诉你进行了何种更新。
简单举例如下,
U calc\911.txt 文件911.txt被更新
G casver.c文件casver.c接收了版本库的更改,你的工作拷贝也做了修改,但不冲突,SVN自动合并版本库和本地文件。
C ca_bdc.c对文件ca_bdc.c的本地修改和版本库冲突,需要手工解决。
如果版本库和原始工作拷贝是一致的,则运行结果只是提示版本库的最新修订版本号。
✧更多svnupdate命令可能输出的文件状态请参看“附表1-1”。
其中A、D、U表明本地文件接受了版本库的修改已经更新;
G表明本地的修改和版本库的修改不冲突,已经合并。
但C表示冲突发生了,需要你进行手工解决。
3.8检查你的修改(svnstatus)
经常会用到svnstatus命令来检测你对文件和目录的修改。
和svnupdate命令不同,它比较的是你目前最新的工作拷贝和.SVN里面保存的原始工作拷贝。
不会去联系版本库,所以不能知道版本库的状态,只能看到本地的修改。
svnstatus也可通过运行输出显示的文件状态来告诉你对原始工作拷贝进行了怎样的修改。
简单举例,
?
boo.txt 表示boo.txt在工作拷贝中但并没有纳入版本控制
D 1/12.txt 表示12.txt预定要从版本库删除
A calc/11.txt 表示11.txt预定要添加到版本库
M ca_bdc.c 表示ca_bdc.c文件已经在本地修改过了
如果你并没有对工作拷贝做任何修改,那么svnstatus命令输出为空。
✧svnstatus和svnupdate命令中表示文件状态的大写字母含义不同,具体请参看“附表1-1”。
✧svnstatus还可添加-v参数显示所有文件(即使没有改变过)。
如下,第一列显示文件状态,第二列显示工作拷贝里的修订版本号,第三列和第四列显示最后一次修改的版本号和修改人,第五列是文件列表。
可以看到test文件最后修改的修订版本号是80,修订人是zhyu;
而boo文件预定要从版本库中删除。
更多参数请使用svnhelpstatus命令查看。
3.9提交你的修改(svncommit)
在进行了一系列文件修改、增加或删除后,你准备好把在工作拷贝里做的这些修改提交到版本库中,这时要使用svncommit命令。
注意,命令中必须同时提供一些描述修改的日志信息,否则会提交失败。
可以使用--message参数提供日志信息。
直接在--mess
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVN 使用手册 简易