[计算机软件及应用]徐老师-SVN操作文档_第1页
[计算机软件及应用]徐老师-SVN操作文档_第2页
[计算机软件及应用]徐老师-SVN操作文档_第3页
[计算机软件及应用]徐老师-SVN操作文档_第4页
[计算机软件及应用]徐老师-SVN操作文档_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、.配置管理注:有的图看不清可以摁住ctrl滚动鼠标滑轮一、 安装SVN环境和软件准备 操作系统: windowsXP sp31、 安装SVN服务器点击安装包选择安装目录后,等待安装结束,完成SVN服务器安装2、 安装SVN客户端点击安装包选择我接收协议自定义安装目录选择安装目录完成安装完成安装后,重启计算机3、 安装汉化包打开安装包开始安装完成安装4、 安装UE打开安装包,开始安装点击下一步 ,开始安装安装进行中完成安装右键-setting-选择简体中文二、模拟配置管理流程(管理员身份)1、在硬盘上创建个空目录,作为 SVN 的仓库目录可以使用两种方式创建仓库的初时文件结构和存储方式。命令方式

2、和 TortoiseSVN 客户端方式。命令方式( DOS 下):# 默认方式,采用 FSFS 方式存储数据,这是推荐方式,管理和迁移相对 bdb 方式简单svnadmin create E:subversionrepository或svnadmin create fs-type bdb E:subversionrepositoryTortoiseSVN 客户端。2、选中项目文件,开始配置管理3、进入仓库目录下的 SVNROOT文件夹。里面有 3 个默认的配置文件: authz , passwd , svnserve.confsvnserve.conf 控制 svnserve 的启动配置选项,

3、可以配置认证和授权方式,典型的配置是设置由 authz 控制授权, passwd 控制认证的方式来控制访问权限。4、打开文件夹,使用UE打开文件conf# 匿名方式不允许访问anon-access = none# Uncomment the line below to use the default password file.# 表示访问仓库的认证有文件 passwd 提供的账户确定password-db = passwd# Uncomment the line below to use the default authorization file.# 表示认证后的账户访问权限由文件 aut

4、hz 定义authz-db = authz5、打开authz,开始授权配置# 表示定义了一个管理组叫 a_group,c_group,d_group, 包括 a_group=a1、c_group=c1、group=d1和d2, group前千万不能有空格a_group=a1c_group=c1d_group=d1,d2# 下面就是定义具体仓库下目录的访问权限# 一般对管理员来说都具有整个仓库的读写权限,一般人员对整个敞开具有读取权限,下面# 就是这样的配置 ,/ 表示整个仓库的根,组的引用使用 ,对应的权限可以是 r,w,rw 或空calca_group = rwc_group = rwd_g

5、roup = rw* = r6、打开passwd开始密码配置passwd 文件实际提供访问本仓库的账户管理,文件格式就是 ini 方式的格式usersa1=ac1=ad1=ad2=a三、启动服务1、打开dos命令界面打开方式:开始-运行-cmd或者功能键+R-cmd2、输入命令cd c:subversioncd bin开始服务点击回车,弹出服务窗口,开始服务窗口不关命令方式( DOS 下):-d 参数是以独立服务的方式启动-r 是制订要加载的仓库的物理路径四、开始配置管理操作1、打开版本浏览器空白处右键点击-tortoiseSVN-版本库浏览器键入SVN:/localhost-回车2、在配置管

6、理后台创建项目文件夹以及项目文件夹内的子项目project1为项目文件(角色:a 管理员)创建子项目文件夹(角色:管理员)五、开发人员对配置管理工具的应用此时,角色转变为开发、测试人员(SVN的客户端使用者,不再是管理员)右键点击项目文件夹-检出-找到项目目录-输入分配给开发人员的用户名和密码-确定-检出完成。在代码文件夹下可以开始编写代码程序上传提交六、测试人员对配置管理工具的应用此时,角色转变为测试人员,测试人员可以下载代码,上传测试用例、测试报告。1、测试人员下载代码、需求,设计测试用例并上传步骤:创建文件夹(cpro1)-检出project1-打开需要的资料和代码-根据资料和代码设计测

7、试用例-上传测试用例写出测试用例-增加-上传测试报告上传同测试用例七、入基线、分组开发的上传创建分支的最大的目的就是跟主线进行并行开发的时候不影响主线的开发。在分支上所做的提交都只存于分支上,主线上的Update是看不到分支的修改的。如下图所示,trunk只能看到r344的版本,并看不到r343的版本。什么时候应该使用分支呢?例如你接到了一个任务,完成这个任务需要三四个人的合作,你们之间需要共享资源,那们就可以创建一个专为这次任务的分 支,参与此次任务的人员则在分支上做开发,等完成之后再合并到主线上,才不会出现将实现了一半的不完成功能也提交到主线上,影响主线的正常工作。又或者自 己需要一个较长

8、的开发周期来完成任务,这么长的时间内如果一直没有将资源进行提交,万一丢失了就前功尽弃了。当然分支不是只用于此类情况,还有其它很多种 情况也能使用分支来达到目的。) 使用分支需要注意,由于长期的独立开发,可能会在合并回主线时出现较多的冲突。所以在支线上开发间期如果发现主干有更新,而且这个更新有可能将来 跟你产生冲突,那你可以先将主线的内容合并到分支上。已免等到做了大量修改再来更新。(其实此过程跟分支合并到主线上是一样的操作,只是目的地不同。1、版本完善后,入基线,基线是一种特殊的标记此操作由项目负责人完成2、分组开发的分支操作此时角色转为开发人员分别设定两个工作组:group1、group2,做

9、检出操作,操作人员分别是d1和d2两组开发人员分别检出baseline1至 group1group2两组可以分别开发各自项目开发完成后Group1、 Group2开始做分支Group1上传的工作副本可以标记为brunch1Group2上传的工作副本可以标记为brunch2Group2分支操作同上在版本浏览器中任意项目分支点击右键-版本分支图,可以更直观的了解版本的分支变化、父子关系八、版本合并合并包含两点,首先两个版本库树比较,然后将区别应用到本地拷贝。 这个命令包括三个参数: 初始的版本树(通常叫做比较的左边), 最终的版本树(通常叫做比较的右边), 一个接收区别的目标拷贝(通常叫做合并的目

10、标)。一旦这三个参数指定以后,两个目录树将要做比较,比较结果将会作为本地修改应用到目标工作拷贝,当命令结束后,结果同你手工修改或者是使用svn add或svn delete没有什么区别,如果你喜欢这结果,你可以提交,如果不喜欢,你可以使用svn revert恢复修改。合并的工作是把主线或者分支上合并范围内的所有改动列出,并对比当前副本的内容,由合并者手工修改冲突。如果当前工作副本是主线的,则合并的范围是分支上的改动,如果工作副本是分支的,则合并范围是主线上的改动(1)主干合并到分支如果是需要将主线的改动SVN合并到分支上,需要在分支的工作副本下进行合并,合并的范围是需要从主线上上次合并的版本到

11、当前主线上最新的版本,如果主线和分支都修改了相同的文件,合并后会出现冲突,然后解决冲突,如果主线修改但是分支没有修改,则主线上合并的变更内容会增加到当前副本中,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号(2)分支合并到主干如果是需要将分支的改动合并到主线上,需要在主线的工作副本下进行合并,合并的范围是需要从分支上上次合并的版本到当前分支上最新的版本,合并后会出现冲突(冲突的前提如上种情况),然后解决冲突,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号之后打开group1可以看到,刚才在分支2中做的操作修改adduser(),adduser()在group1文件夹中已

12、经被更新了合并后可以再次完善版本,入基线Baseline2为最新的上市版本九、上传冲突两个工作组分别检出1个分支,分别对一个文件进行修改、上传,可能会发生冲突Work2修改addorder()测试用例Work1修改addorder()测试用例更新工作副本修改后再次提交刚才的修改可以在版本浏览器中验证SVN使用要诀先更新后提交为避免频繁的解决冲突,一些经常冲突的文件,可以在提交的时候选择:保持锁定,这样别人在更新该文件到本地时,默认的文件属性是只读的;5、用Eclipse开发需注意的事项:.class文件夹不要提交到SVN配置库上受控,否则编译的.class中,SVN一些容易混淆的概念解释:1、

13、Checkout(检出)与Export(导出)两者都是获取文件,区别在于,check out方式获取文件后,文件处于SVN版本控制中,而export是导出当前版本的数据,文件脱离了SVN版本控制。2、Relocate(重定位)与Switch(切换)如果你的版本库移动了,或许是因为移动到了一个新的目录,或者是域名改变,你需要“relocate”你的工作副本,这样你的版本库URL指向新的地址,这种情况下,是版本库本身移动了;如果要在同一个版本库中切换一个分支或目录,就需要执行Switch操作。当主干和分支只有微小差别时,这个命令非常有用,你可以在目录之间跳转,而只会有很小区别需要传输。3、Dele

14、te(删除)删除文件要使用“TortoiseSVNDelete”进行删除,一定不要直接删除(对于重命名、移动文件或文件夹也是一样,要使用TortoiseSVN的菜单进行这些操作,否则之前的版本信息会丢失。);文件被删除后,该文件的所有修改历史仍然保存在SVN服务器中,以后仍然可以获得该文件的修改历史。4、Commit(提交)进行了任何修改后,通过Commit操作可以将修改提交到服务器的版本仓库中。在工作复本的文件夹的空白处点击鼠标右键和选中当前目录执行提交的效果一样;提交文件要慎重,尽量不要提交不需要或不能提交的文件,包括以下几类文件:Ø    

15、;    临时文件*tmp、垃圾文件:为了避免提交这类文件,就尽量不要直接Commit,选择全部文件提交,而是先执行Add操作选择需要添加的文件,这适合提交文件数目较少的情况,当然,如果你的电脑设置的可以显示这类隐藏文件,你就直接删了它们,以除后患,如果你有定期清理电脑垃圾文件的习惯,这类文件就自然会被清理掉;Ø        编译器产生的文件,例如*.obj,生成的二进制文件等,常有些同事不注意把Debug和Release目录都Commit了!其实,“Tortoi

16、seSVNSettingsGeneral”中有一个设置“Global ignore pattern”(全局忽略模式),通过在模式框中输入文件名或扩展名就可以在提交时忽略这些文件或文件夹。不同的模式之间以空格分隔,例如*/bin */obj *.bak *.? *.jar *.Ttmp;Ø        病毒文件:在实际中,真的碰到有同事把病毒文件都提交到SVN版本库中了,这不是害人吗,因此首先要养成定期杀毒的良好习惯,其次在提交时一定不要一股脑全盘提交!提交文件还要养成以下良好习惯:Ø 

17、;       提交时一定要写备注,而且要写有意义的备注。备注有助于其他人(包括三个月后的你自己)理解你对文件所做的修改;其次在检出历史版本时,清晰的日志有助于快速查找到自己所需要的版本;Ø        把握Commit的频率。不能太频繁,每修改一个小小的地方就提交,则会产生很多版本;而隔时间太久再提交,则其他相关人员不能及时获取你的改动,在提交时就容易造成冲突;当然,要视团队的具体情况而定了。Ø  &#

18、160;     在多人协作时,尽量修改自己撰写的部分,不要修改其他部分;这就要看团队协作的能力了。5、Update(更新)Update对不同的人所做的修改会自动合并,如果无法自动合并则会发生冲突,需要手工用文件比较工具进行合并;因此要注意经常更新自己的工作复本,以保证自己能够获得最新的修改内容,降低发生冲突的可能性;要养成提交前先更新的好习惯,如果没有更新就提交,很有可能提交失败;另外,有时候会需要通过复制文件的方式覆盖本地的同名文件,间接的修改文件然后再提交,进行这种操作一定要慎重,如果此时服务器上的文件版本相对于你复制的文件已经修改了某些BUG,这样提交后,以前修复的BUG就又会重现!6、Revert(撤销)如果进行了修改,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论