![SVN使用手册[1]_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-4/19/6c087a4f-33d8-4734-9625-e59891a6077f/6c087a4f-33d8-4734-9625-e59891a6077f1.gif)
![SVN使用手册[1]_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-4/19/6c087a4f-33d8-4734-9625-e59891a6077f/6c087a4f-33d8-4734-9625-e59891a6077f2.gif)
![SVN使用手册[1]_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-4/19/6c087a4f-33d8-4734-9625-e59891a6077f/6c087a4f-33d8-4734-9625-e59891a6077f3.gif)
![SVN使用手册[1]_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-4/19/6c087a4f-33d8-4734-9625-e59891a6077f/6c087a4f-33d8-4734-9625-e59891a6077f4.gif)
![SVN使用手册[1]_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-4/19/6c087a4f-33d8-4734-9625-e59891a6077f/6c087a4f-33d8-4734-9625-e59891a6077f5.gif)
已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Subversion使用手册Subversion使用手册Subversion的使用配置已经完毕了,下面就要开工啦。1 SVN的访问如何访问SVN请看下表:方案访问方法http:/ 27/svn 2 首次导入(import)对需要进行版本控制的源码,需要先导入到版本库中,形成第一个修订版本。使用import命令,可以使用TortoiseSVN的import命令。首次导入之后,版本库中就已经包含了版本控制文件了,以前导入的文件也就可以删除了。好了,现在我们在任意地方新建一个文件夹比如叫做import,里面新建三个文件夹design,release,trunk。各个文件夹的作用已经在前面说了,在此不再赘述,然后将我们西安现在正在开发的项目放到trunk文件夹中,我们的项目有两个文件一个是A.java一个是B.java,A.java文件中的内容是public class Apublic static void main(String args)System.out.println(Hello Everyone!);B.java文件中的内容是public class B还有就是我们把我们开发的设计文档design.doc放到design文件夹里,这些都放好之后,在import文件夹的空白处右击,在弹出的菜单中选择TortoiseSVN然后在弹出菜单中选择Import,弹出如下内容:(图3-2-1)图3-2-1在URL of repository中填上访问地址,本地访问题写svn:/localhost/即可,外面机器访问就需要填写IP了,然后在Import message里写上说明点击OK进入下一步。大家就会看到如下界面(图3-2-2),填写上用户名和密码,为了更加快捷的工作,我们把Save authentication复选框选上,这样以后就不用一次又一次地输入用户名和密码了,不过如果你感觉这样不安全,你也可以在TortoriseSVN的settings里把它去掉。点击OK,就会出现(图3-2-3)的界面。图3-2-2图3-2-3这样我们的版本库中就有了我们要进行版本控制的项目,而且可以看到最后一句,当前的版本是1。3.1 首次检出(checkout)需要将版本库的代码检出(checkout)到一个文件夹,就得到了一份工作拷贝,可以对工作拷贝进行修改。可以使用Checkout命令。注意,不要检出到刚才用于导入(import)的文件夹,否则文件的覆盖会出现错误,如果确实很需要,就先删除原文件夹中的所有内容,然后检出(checkout)。检出所得的工作拷贝,每个文件夹中都包含一个.svn文件夹,其中包含了SVN的一些信息,有如版本库,不要进入这个文件夹,没什么好处。具体操作是在你想的获得开发源码的地方比如说本例在E:workspace,在此文件夹里右击,在弹出菜单中选择SVN Checkout,弹出如下界面(图3-3-1),因为我们只需要开发代码所以地址要定位到trunk文件夹,其他的默认即可,点击OK。图3-3-1如果刚才你没有让TortoiseSVN记住密码的话,Checkout的时候也会让你输入密码的,请输入对此目录有读权限的用户名和密码,不然的话会出错,这一次我用了Tom的用户名和密码。然后我再在另外一台机子上用Jim这个用户名Checkout一份拷贝。完成后就会看到trunk文件夹里的A.java和B.java就会被拷贝到workspace这个文件夹里,而且文件上面还带着绿色的对号,表示现在的文件没有作修改。3 提交修改(Commit)现在可以修改你的项目代码了,比如说Tom给B.java添加一个Test方法,具体如下:public static void test()System.out.println(Test!);添加完成后你就会看到B.java文件上的绿色的小对号变成了红色的小叹号,表明文件已经做了修改,如果感觉没有问题了,就可以将修改完的文件提交到版本库中,可以直接右击修改的那个文件,也可以在修改的文件所在的文件夹右击,然后选择SVN Commit这时会弹出如下界面(图3-4-1),填写相应信息后,点击OK即可,这时如果没有让TortoiseSVN记住用户名和密码还是要输入的,输入之后会出现(图3-4-2)的界面,这时可以看到版本已经变成了2。图3-4-1图3-4-24 更新(Update)上一步中Tom把B.java修改了,然后提交到了版本库中,而这时Jim还是以前的,如果他想要看到最新的版本,那么他就必须更新他的拷贝,在需要更新的文件夹里右击或者需要更新的文件右击,选择SVN Update,这时就会提示你输入用户名密码,输入之后就会更新到最新的版本。5 合并(Merge)由于有了版本控制,这样多个开发人员可以同时开发这个项目,当两个人Tom和Jim同时编辑一个文件B.java,Tom编辑完之后将修改提交,当前版本是10,他为Test方法添加了一句话:System.out.println(Tom Test!);没有任何问题,提交之后版本就会加1,提交后变成11,当Jim修改完,他在B.java里添加了一句话System.out.println(Jim Test!);他当前的版本是10,当他也想提交时,问题来了,出现了下面的错误(图3-6-1):图3-6-1意思就是说当前你提交的版本低于版本库中的版本,已经过时了,这说明有人在此之前提交过,这时侯Jim必须先升级他的B.java文件,升级如果与当前本地的版本有代码不一致的地方也会提示如下错误,表示SVN无法自动处理这些差异,需要人工去合并(图3-6-2):图3-6-2B.java上的图标也变成了黄色三角叹号,而且当前文件夹里会出现几个文件,文件名都是修改了的文件的文件名加上版本号,比如说当前Jim的就是B.java.r10,B.java.r11,B.java.mine等,这些文件中存放的都是各个版本的此文件的内容,.mine里的是本地修改后的文件内容,这些文件都是为了让你手工去合并而产生的,。手工去合并有一些方式,推荐使用TortoiseMerge,具体操作为更新完毕后再次Commit B.java文件,这个时候就会发现如下(图3-6-3),图3-6-3B.java是红色的标注的,并且是conflicted(有冲突的),这个时候双击列表框中的B.java就会打开TortoiseMerge的界面(图3-6-4)图3-6-4在这里面可以很清楚的看到,左上角上是Theris,也就是版本库中的B.java,右上角是Mine,也就是自己的B.java,下方是Meraged,表示合并之后的B.java。而且列数里还有一些小图标:我们说说小图标的意思。 :表示这一行被添加了。 :表示这一行被删除了。 :表示这一行只包含空格一类的修改,并没有实际代码的变化,或者是几行合并成为了一行,你不需要对代码进行修改。 :这一行是用TortoiseMerge手动修改的。 :表示这一行现在有冲突。 :表示这一行以前有冲突,但是冲突的效果被空格和回车隐藏了。 :表示这里行里修改因为恢复了原始的内容,修改都被解除了。在这里面可以清楚的看到,两个版本中的不同之处,如果想留下Jim写的,也就是Mine中的System.out.println(Jim Test!);,那你就可以在Mine中的红色的那一行里右击选择Use this text block,意思是使用这一行,这时候你就会看到下方Merged里的那一行问号变成了刚才选择的那一句。现在说说菜单项的作用:在上面那两个窗口中:l Use this text block:表示使用这一行。l Use this whole file:表示使用整个这一个文件。l Use text block from “mine” before”thires”:表示冲突的两句话都要留下,但时mine的在前面,thires的在后面。l Use text block from “thire” before”mine”: 表示冲突的两句话都要留下,但时thires的在前面,mine的在后面。在Merged窗口中的菜单项基本上上面的明白了,这里的也就明白了,呵呵。我们现在想要冲突的两句全都留下,而且Tom的在前,Jim的在后,我们就可以在Merged窗口中右击冲突的一行使用Use text block from “thire” before”mine”,这样就达到了想要的效果,修改完之后,别忘了最重要的一步:就是确认已经Merge完毕点击图标工具栏上的图标即可,然后就可以关闭TortoiseMerge,这个时候就可以点击OK来提交了。如果代码不是很多,你可以直接打开更新后的B.java可以看到里面在有冲突的地方有相应的标注,如下: .r11这个表示本地文件在这一行是System.out.println(Jim Test!);,而版本库中的也就是第11个版本的B.java是System.out.println(Tom Test!);,现在就需要决定是留哪一句,通过与其他开发人员交流之后,知道怎么改了,就可以将那些标注和不能留下的语句去掉即可,然后将那些自动生成的B.java.r10,B.java.r11,B.java.mine等文件删除,然后再次Commit也是可以的,这个方法只适合代码较少,很容易发现不同之处的情况,不过还是使用TortoiseMerge好。6 回退(Update to reversion)这个情况是很容易发生的,那就是当大家修改了代码之后,发现程序有很大漏洞,而且及其难改,这个时候就可以将你的项目回退到以前的版本,具体操作是:右击想要回退的文件夹或者文件,在TortoiseSVN弹出菜单中选择Update to reversion然后回弹出一个界面,比如说我们想要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击OK即可。7 Branch and Tag当我们开发到一定程度,感觉这个版本已经做够成熟了,已经可以拿来发布了,我们可以将这个版本当做一个备份保留起来这样以后修改,出了大问题可以立刻拿这里面的版本来用。操作方法是:首先从版本库中将trunk中的项目checkout到一个文件夹里,然后右击checkout下来的这个文件夹,TortoiseSVN弹出菜单中选择Branch and Tag,然后就会看到如下界面(图3-8-1):图3-8-1在To URL里填好路径,既然是可以发布的版本,我们就把它放到release文件夹里的V1.0文件夹里吧,如果没有这个文件夹会自动创建的。然后在下面的Log窗口里写上日志,点击OK即可。然后我们可以使用TortoiseSVN里的Repository Brower来看看是否加入了。8 导出(Export )我们想要给客户一个项目,当然不能带版本信息,我们可以用TortoiseSVN菜单里的Export来实现,新建一个文件夹,右击文件夹TortoiseSVN菜单里选择Export如下图(图3-9-1):我们将我们刚刚做好的V1.0版本导出,点击OK即可。图3-9-19 版本库浏览器(Repository Brower )你可以随时通过版本库浏览器(Repository Brower )来查看版本库中的变化,打开后如下图(图3-10-1)图3-10-1在这里可以看到文件和文件夹都有对应的版本和作者还有最后的修改时间,这里的作者表示最后修改的那个人。10 TortoiseSVN的一些设置在http:/to
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 细胞荧光技术基本原理与应用
- 上级医院参观汇报
- 糖尿病足干性坏疽治疗
- 宣泄心理学讲解
- 外科创伤急救技术
- 女职工特殊疾病互助保障讲解
- 软件技术方案演讲
- 乳房炎诊断技术
- 社会恐惧症病理解析与应对策略
- 社戏精彩片段讲解
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.6.90885
- 水工闸门课件
- 通信原理教案
- 2.AD830机台板面操作讲解
- 《诺丁山》经典台词
- 职高英语词汇表优质资料
- YY/T 0752-2009电动骨组织手术设备
- GB/T 40080-2021钢管无损检测用于确认无缝和焊接钢管(埋弧焊除外)水压密实性的自动电磁检测方法
- GB/T 2-2001紧固件外螺纹零件的末端
- 路基土石方工程施工方案
- 教育评价学全套ppt课件完整版教学教程
评论
0/150
提交评论