版本控制在团队协作中的应用2010-11-08使用版本控制软件有什么好处?——生产工具反应了生产力发展水平所有成员维护的实际是同一个版本库。人人为我,我为人人,无需专人维护所有文件的最新版本;协同工作,大大提高团队工作效率,无论团队成员分布在天涯还是海角;记录每个文件从诞生到最终完成全过程的每步细节,细度由提交人掌控。利于重用(reuse)以前的劳动成果。及时了解团队中其他成员的进度。资料共享,避免以往靠邮件发送文件造成的版本混乱的局面;轻松比较不同版本间的细微差别,适用于纯文本文件(如STAAD命令文件)、MSOFFICE系列办公软件、WPSOFFICE系列办公软件等,对于mathcad以及autocad等生成的二进制文件,目前只能靠肉眼比较。记录每一步,打造编年史——版本控制介绍•您是否在一个团队中效力?•在合作中是否发生过这样的悲剧:当您在修改一个文件时,团队中其他人也在修改这个文件,最终发现您几位的修改有冲突而不得不放弃其中几个人的修改成果?•是否曾经保存了一个修改之后,然后又反悔想把这个文件恢复到修改前的状态?是否曾经希望能够看到一个文件的前世?•是否曾经在自己的项目中发现了一个错误,然后想立案侦查它是在何时产生的?•是否曾想快速比较一个文件的幼年和中年的差别?poweredbywps2005个人版操作系统上的图形客户端程序,开源、免费KarlFogelTimKemp——TortoiseSVN项目的发起者StefanKüng——TortoiseSVN的主要开发者LübbeOnken——制作了漂亮的图标、Logo,错误跟踪及文档维护来自世界各地的贡献者版本历史2004-10-1TortoiseSVN1.1.0released2005-6-1TortoiseSVN1.2released2006-1-15TortoiseSVN1.3.0released2006-9-16TortoiseSVN1.4.0released2007-6-11TortoiseSVN1.4.4releasedpoweredbywps2005个人版什么是版本控制版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision)。版本控制也称作RevisionControlSystem(RCS)。名词解释:修订版(revision):可以认为是某个文件在其生命周期内各个保存的快照,每个快照和一个时间区间对应。版本库(Repository):存放修订版的数据库本地工作拷贝(Localworkingcopy):修订版在本地的副本版本的检入(Checkin):本地副本提交到服务器的版本库检出(Checkout):从服务器的版本库中取出修订版成为本地副本版本号的来源:有两种策略,基于文件的计数和基于仓库的计数,subversion使用后者标签(Tags):为版本加一个名字,便于检出分支(Branches):修订版打分支,以后可以平行修改,互不干扰合并(Merging):将分支的修订版合并为一个新的修订版锁(Locking):为修订版枷锁冲突(Conflict):并发版本控制时防止修订版混乱的错误机制poweredbywps2005个人版使用版本控制的好处对团队和个人都有好处:为团队提供了所有项目文档的回退按钮;支持多个开发人员在可控的方式下为相同的代码工作;版本控制系统保存了文档在过去的各个改动,便于查找是谁,在何时,因为什么修改了文档;支持在文档的主线上同时有多个版本;这就是传说中的时间机器和时空隧道——SVN版本控制系统我们可以比较每次对WORD文件做的改动。我们可以比较不同时间演示文件的改动我们还可以比较不同版本的EXCEL文件内容注:微软Office文件(word,excel.ppt)的版本比较功能不是TortoiseSVN的功劳,TortoiseSVN只是调用了微软Office软件自身的文件比较功能而已。软件安装需要客户端安装文件安装完毕后,在“资源管理器”里点击右键,会有如下菜单出现。把库里的内容CHECKOUT出来新建一个目录,比如D:\SVN_Presentation在此目录中点击右键-SVNCheckout...URLofrepository:处选择版本库所在路径。SVN的工作模式协同工作的两种模式“copy-edit-merge”(Subversion默认的模式)适用于纯文本文件的协同工作,TortoiseSVN自动合并不同成员对同一文件的修改,如果修改有冲突,需要人工取舍。此模式适合软件开发这种工作。“Lock-Modify-Unlock”(锁模式)适用于纯文本文件及二进制文件的协同工作。比如dwg,mcd,doc,ppt,xls等文件格式。这种模式适合工程设计人员的合作。SUBVERSION默认的模式上传本地文件将本地文件上传到SVN目录中如果希望其他同伴也能看到刚上传的文件,需要做提交同步SVN同步本地与SVN服务上的文件。将SVN服务上的文件更新到本地SVN会显示出更新的文件和更新的次数文件提交对本地文件做修改后提交到SVN在右键菜单中点击SVNCommit提交前写好Message,点击OK提交权限控制当提交文件的时候您会看到权限提示信息输入您的开机用户名和密码保存权限设置,可以避免将来重复输入用户名和密码(见红圈)冲突什么是冲突冲突产生的原因冲突产生的时机解决冲突关于避免冲突的建议什么是冲突冲突是指团队协同工作时,当多人同时修改同一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致文件无法提交的情况冲突产生的原因产生原因当团队协同工作的时候,多人同时操作一个文件。当有人操作完成后,将该文件提交到SVN上。这样,其他人的本地文件与SVN上的文件版本不一致。当另一人操作完成后,提交该文件时,就会出现冲突。冲突产生的时机提交文件时,产生冲突解决冲突遇到冲突时,需要update该文件。您会看到新增了三个文件。filename.minefilename.rOLDREVfilename.rNEWREV面对文件冲突,您可以选择以下三种方式解决冲突手动合并冲突文件使用工具解决冲突用revert放弃所做的修改用工具解决冲突使用自带工具,如图所示对比两个版本的文件,解决冲突工具中会列出两个版本冲突的部分,并让您选择使用哪个版本的内容放弃修改选择revert放弃自己所做的修改提交解决结果通过上面所说的三种方法,解决冲突后。要选择resolved解决后,新增的三个文件会自动删除再选择commit提交到SVN以WORD文件为例发生冲突更新文件解决冲突存在冲突的部分会用红色标出,在红字部分或蓝色提示框中点右键,找到“接受XX”和“拒绝XX”,根据实际情况选择。当红色文字全部消失后,表示冲突已经解决。提交文件因为SVN工具解决冲突的功能会新打开一个文件,而不是更改源文件。所以需要您确认修改完成后保存并覆盖源文件,或将全部内容COPY到源文件中,保存并提交。关于冲突的建议在修改文件之前,先进行一次update操作当修改完成后,及时commit,不要在本地停留时间过长在多人协作时,尽量修改自己撰写的部分,不要修改其他部分出现冲突很正常,可以通过前面的三个方法解决,不要相互覆盖锁模式某文件已经被同学甲锁定,此时同学乙也在自己的计算机上试图锁定该文件,会发生什么情况?(会有提示:该文件已被同学甲锁定)某试衣间已经被同学甲锁定,此时同学乙也试图进入此试衣间,会发生什么情况?(试衣间内有人,请稍候)当某成员试图锁定某文件时TortoiseSVN会检测版本库中的该文件的版本是不是比WorkingCopy的新,如果比Workingcopy新,那么只有用户更新了Workingcopy才能对其成功实施锁定。这就保证了任何一个成员对文件修改时,总是在最新版本基础上进行修改。提交的艺术采用“Lock-Modify-Unlock”这种模式进行协同工作,需要多进行的两个步骤:GetLock(锁定文件)Commit(提交,提交成功后程序自动把锁释放掉)合理选择提交频度和时机两次提交之间尽量进行同一类操作,比如,统改图层后提交一次,统改标注线型后再提交一次。目的:一旦业主要求有反复,我们也很容易把以前工作成果从库中提出来,减少返工。建议一小时左右提交一次。养成按时提交的习惯,试衣间是公共财产,文件也是。有人总在试衣间咋办如果有人在试衣间内土遁了或者晕倒了,我们该怎么办?当然是救人要紧。砸锁(Stealthelocks)LOGMESSAGE信息填写规则好的logmessage和糟糕的logmessagelogmessage主要记录的是每次的修改内容。建议把一些重要数据、关键操作写到logmessage中,比如“根据管道工程师山姆同志在2007年7月4日的邮件内容修改结构布置”,可以顺便把山姆同志的邮件内容拷贝到logmessage中。注:修改人和提交时间由软件自动记录,无需人工写入logmessagegoodlogmessagenotgood移动右上角架子标注由原来的1'6改为1'改标注增加注释,说明设备V3000的参数出处增加说明原BOSEL69'-111/2改为72'-11/2改标高修改最南侧和最北侧的W12的梁与TOWER中心线的距离为1'1''修改5'挑台的挑梁为W16x57改距离翻翻老黄历——如何得到历史版本如何比较两个版本间的差异CHECKOUT和EXPORT的区别checkout方式获得文件后,文件仍处于SVN版本控制中export导出当前版本的数据,文件脱离SVN版本控制一切文档皆可入库——参考规范、计算书、参考图纸、新图纸、FRAMEWORK模型、STAAD模型、照片、WRP、VENDORDRAWING每张图纸都凝结了团队成员的N多汗水某个文件的成长记录BEYONDCOMPARE——赛过如来眼,辨得真假猴恭喜您您现在已经可以使用SVN办公了,体会SVN带来的便利吧!poweredbywps2005个人版客户端在开发环境中的运用1.安装插件AnkhSvn-2.1.7819.411.exe程序,注:如果在开发工具中看不到插件.可以重新启动电脑.第二次开会就会看到源代码.详情.请查看图片poweredbywps2005个人版2.运行开发环境:点击工具-SourceControl-选择当前源码管理程序SVN的插件.然后选中右手边的解