SVN使用手册(简易版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SVN使用手册——命令行模式
1SVN概述
SVN的全称Subversion,和VSS一样用来有效地管理代码和版本。同样我们可以进行修改、对比版本、获得版本的历史信息等操作。
1.1 SVN使用环境及安装
SVN的使用环境:
SVN可在Linux系统使用,安装系统时如果选择了自带Subversion,无需安装即可使用命令行。
Windows系统需安装Subversion以便在命令行中使用SVN命令;也可安装TortoiseSVN(“小乌龟”),不用敲SVN命令直接通过右键菜单执行。
目前北研所的SVN使用基于TCP/IP协议的Apache服务器,使我们可以通过http地址来访问版本库。
平台Linux系统Windows平台
操作方法命令行浏览器命令行界面/右键浏览器
安装方式
安装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:甲从版本库check out签出同时锁定文件;
图1.1-2:文件被锁定乙无法签出文件(check out操作被拒绝);
图1.1-3:甲在本地修改好文件后将其check in,服务器上的文件被更新,并同时解锁;
图1.1-4:文件解锁乙才能check out签出修改,文件被check out后再次锁定。SVN系统通过拷贝-修改-合并的模式来防止不小心覆盖掉他人的修改。如图,
图1.2-1:甲、乙下载同一版本库的文件到本地工作拷贝各自进行修改。
图1.2-2:提交修改时如果甲、乙的修改没有交迭冲突(修改的是同一版本库不同的文件,或者修改的是同一文件的不同部分),SVN会自动合并这些修改到版本库。
图 1.2-3:如果甲、乙对同一文件的修改产生交迭(修改冲突),甲先提交后乙提交时SVN提示文件A处于冲突状态,这时乙需要跟甲进行讨论,再把手工合并的文件提交至版本库。
2申请JZBY SVN用户名
2.1申请用户名的流程。
没有用户名时,可以用公共用户名jzby(密码jzby)练习SVN操作。
3SVN的基本使用操作
3.0进入工作环境
➢进入命令行。开始—运行—输入cmd。
运行svn --version命令来检查你的电脑是否安装了Subversion。如果输出显示SVN版本信息即表明电脑已安装Subversion,否则需下载安装SVN包。
➢确认权限。
方法一:在浏览器地址栏输入http://192.168.4.46/svn,从版本库列表中选中你要访问的库,输入用户名密码,如果能打开,确认你有这个库读的权限。方法二:在命令行中运行svn list命令查看版本库根目录下的目录和文件列表。
如下图,查看是否具有TestProject库的权限。
在命令行任意路径下,svn list后面跟要查看的版本库URL地址。如果查看失败表明你没有版本库的读权限。
提示:在命令行中无论是输入URL还是路径都要注意区分大小写,大小写有误会造成操作失败。
3.1 万能的help命令
使用help命令来查询svn的子命令以及子命令的各种用法会很方便。
求助格式:1.svn help可以查到svn的用法和它所有可用的子命令。
2.svn help [子命令] (例如:svn help add)
可以查看该子命令的用法以及可以使用哪些选项参数。
3.2 基本的工作周期
典型的工作周期如图,