第三章 TortoiseSVN必备技能
导言:
在此章节中将介绍使用TortoiseSVN软件必备要掌握的技术,比如更新到某一个版本,如何解决冲突,工作副本状态的重置,文件的操作等。
3.1 关联文件
在将SVN仓库中的内容执行Checkout命令后,对Checkout文件夹单击右键时,出现很多的菜单选项,如图3.1所示。
图3.1 TortoiseSVN软件的右键菜单
后面的章节将详细为大家介绍常用菜单选项的功能。
先来介绍一下Add菜单,菜单Add的作用是与SVN服务器进行“关联”文件,但添加“关联”的文件还未曾上传到SVN服务器中,也就是说还是属于本地的临时文件。
下面开始进行实验。
Step01:创建新仓库a,内容如图3.2所示。
图3.2 仓库a中无内容
将a空仓库Checkout到桌面的aCheckout文件夹中。
Step02:开始创建数据源,新建xml文件夹,内容如图3.3所示。
图3.3 其中临时文件.xml是不需要上传的
Step03:将这些xml文件复制到aCheckout文件夹中,如图3.4所示。
图3.4 将xml文件放入aCheckout文件夹中
Step04:下一步对文件夹aCheckout执行Commit菜单后弹出界面如图3.5所示。
图3.5 如果xml文件数过多导致难以区分哪个上传哪个不上传
由于xml文件过多,导致Commit时都得用人工筛选的方式在文件列表中来决定哪些文件上传哪些文件不需要上传,效率低而且还容易出错,这时Add菜单的作用就体现出来了。
Step05:在Commit界面中单击Cancel按钮取消Commit提交操作,回到aCheckout文件夹,对要上传的文件执行Add菜单如图3.6所示。
图3.6 对欲上传的.xml文件执行Add菜单
其实Add菜单的使用时机比较灵活,可以在编辑文件并保存后执行Add代表编辑的某些文件需要上传,还可以像本实验中选中欲上传的文件执行Add菜单。
Step06:对xml文件执行Add菜单后xml图标发生变化如图3.7所示。
图3.7 蓝色加号代表文件已经关联SVN服务器但还未上传
Step07:这时单击Commit提交菜单时弹出界面默认即为如图3.8所示。
图3.8 自动默认勾选Add后的文件
Step08:单击OK按钮后上传5个xml文件,如图3.9所示。
图3.9 成功上传5个xml文件到仓库
如果把xml文件放入aCheckout文件夹中的xml文件夹中,执行Add菜单出现界面如图3.10所示。
图3.10 对文件夹执行Add菜单可以进行筛选
Step09:当想取消Add状态时,可以使用菜单,如图3.11所示。
图3.11 使用Undo Add取消Add的状态
将文件添加到工作副本中呈Add状态时还有一种操作,也就是将zData文件夹直接以鼠标右键的方式拖拽到工作副本文件夹中,会出现菜单提示如图3.12所示。
图3.12 选择SVN Copy and add files to this WC菜单
这时工作副本文件夹内容发生改变如图3.13所示。
图3.13 工作副本文件夹发生改变
工作副本test5中的zData呈Add图标状态,如图3.14所示。
图3.14 呈Add状态
3.2 查看文件的状态
菜单Check for modifications的作用就是查看当前工作副本中文件或文件夹的状态。
在“Check for modifications”界面中显示的选项较多,所以要创建一个实验用的测试环境。
创建名称为b的仓库。
3.2.1 Directories和Files和Unversioned和Unmodified选项
Step01:在桌面创建bCheckout文件夹, 将名称为b的仓库Checkout到bCheckout文件夹中。在bCheckout文件夹创建2个文件夹和2个空文本文件,并对其中的2个对象执行Add菜单如图3.15所示。
图3.15 1个文件夹和1个文件呈Add状态
Step02:这时对bCheckout文件夹执行“Check for modifications”菜单,设置界面选项如图3.16所示。
图3.16 只显示文件夹
Step03:继续设置界面选项如图3.17所示。
图3.17 只显示文件
Step04:继续设置界面选项如图3.18所示。
图3.18 显示Add状态和Unversioned无版本的文件夹
Step05:继续设置界面选项如图3.19所示。
图3.19 显示Add状态和Unversioned无版本的文件
Step06:继续设置界面选项如图3.20所示。
图3.20 所有呈Add状态和Unversioned状态的文件夹和文件
Step07:继续设置界面选项如图3.21所示。
图3.21 没有被修改的文件夹和文件
3.2.2 Ignored和Properties和Items in externals选项
Step01:在bCheckout文件夹中添加一个忽略提交的文件ghy.o,如图3.22所示。
图3.22 添加ghy.o文件
Step02:这时对bCheckout文件夹执行“Check for modifications”菜单,设置界面选项如图3.23所示。
图3.23 显示ghy.o文件
Step03:继续设置界面选项如图3.24所示。
图3.24 ghy.o文件被隐藏
Step04:对“关联的文件.txt”文件调用右键菜单的属性子菜单,进入后设置keywords属性,如图3.25所示。
图3.25 对关联的文件.txt文件设置Properties属性
Step05:这时对bCheckout文件夹执行“Check for modifications”菜单,设置界面选项并在文件列表控件的表头单击鼠标右键弹出如图3.26所示界面:
图3.26 无keywords属性被显示
Step06:继续设置界面选项如图3.27所示。
图3.27 复选Properties选项并继续单击右键出现keywords
Step07:单击svn:keywords子菜单后界面改变如图3.28所示。
图3.28 出现svn:keywords列
Step08:当出现svn:keywords列时将Properties勾去掉,则属性值不再显示,如图3.29所示。
图3.29 Properties不复选不显示属性值
就剩最后一个选项Items in externals了。
Step09:创建2个仓库c1和c2,向c1仓库中Import导入c1.txt文件,向c2仓库中Import导入c2.txt文件,然后设置c2仓库关联c1仓库,关于仓库关联的操作在前面的章节有介绍,在此不重复演示。
Step10:仓库c2引用c1仓库的效果如图3.30所示。
图3.30 c2引用c1的c1.txt文件
Step11:将仓库c2签出Checkout到桌面c2Checkout文件夹,Checkout界面设置如图3.31所示。
图3.31 将c2进行Checkout的界面选项
Step12:单击OK按钮后,对c2Checkout文件夹执行“Check for modifications”菜单,设置界面选项如图3.32所示。
图3.32 显示c1仓库的选项设置
Step13:继续设置界面选项如图3.33所示。
图3.33 不显示c1仓库的选项设置