第一步:下载Subversion

CollabNetSubversion-server-1.8.5-1-Win32.exe    点击exe文件

1)安装时,会出现两个组件 SVNSERVER  Apache ,前者是Subversion的服务器,而Apache是可选的。

2)svn_repository是初始的资源库,可以随意指定一个文件夹  , 最后选择SVN软件安装路径

3)创建资源库(Respository)

C:\Users\Administrator>svnadmin create F:\SVN\svn_repository

其中svnadmin是svn的管理命令,create表示创建资源库,而 F:\SVN\svn_repository 表示资源库所在文件夹路径

4)设置访问用户

在 conf\passwd 文件夹中,最后增加一行代码 wanhao = 123456

即"用户名=密码"方式

5)配置认证和授权文件

svn_repository\conf\svnserver.conf 文件取消 password-db=passwd 这一行前面的 '#'。(注意,这一行前面一定不能留空格!)

6)启动SVN服务

svnserve -d -r F:\SVN\svn_repository

svnserve 是SVN服务管理的命令  -d 表示该服务是由守护线程启动的(也叫后台线程) ,-r F:\SVN\svn_repository 表示启动资源库所在的根目录。

只要不关闭命令行窗口,SVN的服务就一直存在。

第二步使用Subversion 客户端 TortoiseSVN

1)下载   TortoiseSVN-1.8.5.25224-x64-svn-1.8.8.msi

直接双击,安装的位置可以改变,然后全部使用默认的配置。

安装完毕后,需要重启一下电脑。

在任意文件夹下点击右键就可以使用TortoiseSVN菜单了。

2)浏览资源库(先确保启动了服务器端Subversion服务)

在快捷菜单中选择 TortoiseSVN|Repo-browser 将弹出输入资源库地址的对话框。

输入URL  svn://localhost/   svn就是访问SVN服务器的协议,localhost为服务器的地址。若是服务器在局域网中,也可以设置局域网的IP地址。若是装了Apache服务器,则可以通过 http://  访问。

左侧为资源库中所有文件,右侧是文件夹和文件夹的详细信息,可以通过左侧来浏览资源库中各个文件。

3)在资源库中增加文件夹

在跟路径下创建三个文件夹  trunk目录  branches目录  tags目录

trunk目录:程序的主目录,通常源代码的一些文件会保存在这里。

branches目录:保存的是主程序的分支文件,比如同一个软件,可能出现分支开发的情况,可以把分支代码放在这里。

tags目录:保存的是源代码每个版本的备份,比如当软件版本从version1.0到version2.0时,需要有一份代码的备份,以备未来能够随时找回原来的版本。

4)导入文件到资源库(import)

选中一个文件夹,右键TortoiseSVN  import ,  便会把这个文件导入到项目中了。被导入的文件便成了共享文件,其他用户(你赋予权限的用户)便可以通过客户端获得这些共享文件了。

注意,URL of respository 应该填写具体路径 如 :     svn://localhost/trunk/GreatHomeWork

5)从资源库中迁出(check out)

先要建立一个与待迁出文件同名文件夹GreatHomeWork  在此文件夹上右键SVN Checkout

点击OK,完成迁出。

发现迁出的文件夹和文件都使用了带有对勾的绿色图标,表示从SVN中迁出的,并不仅仅是文件的备份。

6)更新(update)-修改-提交(commit)

一个用户把项目导出,更改了部分内容,修改完提交。与此同时,另一位朋友也在修改项目,就会发生冲突。但是这样做效率得到提高,一般都使用这种方式。

先点击导出的项目,右键 SVN Update ,更新资源库。这样可以保证在修改之前使用的是最新的版本。

更新的文件游玉友不同的更新类型,所以会使用不同的颜色标识。

紫色:资源库中新建的文件。

深红色:资源库中的是一个删除或替换的文件。

绿色:资源库中与本地的文件的合并。

红色:资源库中的文件与本地的文件有冲突,需要解决冲突。

黑色:其它的默认文件。

红色表示有冲突的文件,需要自行查找。

新建文件,然后 TortoiseSVN|Add 选项。客户端便会认为这是一个新建的文件,但注意到此时并没有真正添加到资源库中。

删除文件,选中待删除的文件,TortoiseSVN|Delete 命令。

修改文件,修改后的文件,会使用一个红色的圆点标注,这样便可以看到每个文件与资源库文件的状态了。

在未提交之前,用户所有的操作都只是针对本地的操作,而并没有真正地更新到资源库中。

一旦完成修改,用户要尽早提交,这样可以尽量避免冲突。

提交右键SVN Commit...  ,然后会弹出一个Check确认对话框,在这个对话框中,选中的为打算提交的,没选中的为不提交的。

7)锁定(lock)-修改-提交-解锁

锁定:选中待锁定的文件夹,右键TortoiseSVN|Get Lock命令。

被锁定的文件,只有被解锁,其他的用户才会继续修改这个文件。

解锁:选中已经锁定的文件 , 右键TortoiseSVN|Release lock 命令。

文件被锁定的过程中,其他的用户不知道文件已被锁定,只有当其他用户提交时才会知道被锁定。所以为了避免其他用户修改一个已经被锁定的文件,用户应当尽量多执行Update操作,这样才能获取到最新资源库中的文件状态。

8)异常处理

有两个人同时修改了文件,第一人先提交,第二人提交便会发生错误。因为提交时已经不是最新版本了,需要提交之前Update一下。

一旦发生冲突,SVN会在冲突的文件中这样标注:

<<<<<<< .mine
#这是我做的修改=======
#这是我为sceond做的修改>>>>>>> .r11

========前的内容是用户自己修改的,后面的为版本库中已经有的。

同时,会在冲突的文件下自动生成三个文件

以下的 “。” 实际指 “.” ,为了使其更明显

1. 冲突的文件名。冲突的文件类型。mine                           里面放着第二个人已经修改过的文件。

2. 冲突的文件名。冲突的文件类型。更新备份前的基础版本      这就是两个人修改之前的文件。

3. 冲突的文件名。冲突的文件类型。第一个人更新后存在版本库的文件                                  也就是第一个人修改完的文件。

比如我第二次修改了log4j.properties commit发生错误。mine表示第二个人修改后的文件   r12表示最开始的文件    r13即代表版本库最新的文件。

解决冲突的办法:

选中第二个人已经修改的文件(版本最新的文件)和我(.mine)的文件, TortoriseSVN | Diff 命令。

此时会弹出 TortoiseMerge 工具,把两个文件不一致的地方显示出来,然后便可以找出冲突的原因。

可以手动修改合并冲突的文件,然后设置为已解决(Resolved),然后便允许提交。

或者将冲突的文件恢复(Revert)到最新版本,然后在最新版本的基础上将解决冲突后的代码放进去,然后提交。但需注意,更新本地文件版本时,本地的修改会丢失,所以要事先备份下文件。

注:更新(Update)与恢复(Revert)都是从资源库中获得最新版本,但他们之间最大不同是恢复不会保存本地的修改,所以要慎用。

some tips:

查看修改日志,在要修改的文件上右键  TortoiseSVN|Show log ,便可以查看修改日志了。

建议每次上传都写上log,对他人,对自己都有好处,也就耽误自己1分钟时间。

可以比较日志,同时选中两个日志记录,Compare revisions

恢复到以前版本,在要恢复的文件上右击,选择Update to revision ,然后便可以选择自己想要恢复的版本号进行恢复。

设置功能,任选一个文件,右键 TortoiseSVN|Settings 命令。

与MyEclipse集成

1.下载 site-1.10.9.zip ,然后解压到 MyEclipse 10\dropins 重启myeclipse即可。

2.切换视图到 SVN Repository Exploring 。

3.将myeclipse中的项目与资源库中的文件同步。

①  File ->New ->Other->SVN->Checkout Projects From SVN

②选择之前创建过的资源库,并选择资源库中的项目名,单击Finish

③然后便可以使用Subclipse其他的客户端功能了。比如提交,右键点击项目,选中team,commit等。

使用Subversion版本控制工具相关推荐

  1. 分布式版本控制工具:git与Mercurial(zz)

    分布式版本控制工具:git与Mercurial [收藏此页] [打印] 作者:cyfdecyf  2007-12-26 内容导航: 第1页 [IT168 技术文档]    说到版本控制工具,很多人可能 ...

  2. 版本控制工具Git 常用操作命令

    2019独角兽企业重金招聘Python工程师标准>>> Git 是用于Linux 内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式 ...

  3. 版本控制工具历史的10个里程碑

    导读:作者Eric Raymond在flourish上发表的一篇<Astonishments, ten, in the history of version control>,文中总结了版 ...

  4. 版本控制工具(CVS、SVN、GIT)简介

    2019独角兽企业重金招聘Python工程师标准>>> 版本控制工具:  提供完备的版本管理功能,用于存储.追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基 ...

  5. 项目管理实践之版本控制工具SVN在Windows平台下的平台搭建

    通过<项目管理实践之版本控制工具SVN>我们知道,在windows平台下,如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为 ...

  6. 项目管理实践之版本控制工具SVN

    SVN,即Subversion,是一个自由开源的版本控制系统,可以将数据恢复到早期版本,或者检查数据修改的历史,这些数据可以是源代码,也可以是其他类型的文件. 在SVN出现之前,CVS是开源世界版本控 ...

  7. 【SVN版本控制工具】

    目录 一.SVN是什么? 二.SVN有什么作用? 2.1备份 2.2还原代码 2.3多人协同修改 2.4追溯问题 2.5权限控制 三.下载安装 3.1客户端下载 3.2服务端下载 3.3客户端安装 3 ...

  8. 【尚硅谷Java笔记+踩坑】Git(分布式版本控制工具)

    用于复习快速回顾 目录 1.Git 1.0.提交项目到GitHub简洁版 1.2.版本控制 1.3.版本控制工具 1.4.Git简史 1.5.Git工作机制 1.6.Git和代码托管中心 2.Git安 ...

  9. 多人开发SVN版本控制工具安装

    SVN版本控制工具安装 1. Beyond Compare 这是一个方便进行文件之间差异对比的工具,可以方便的对文件中的内容进行合并,甚至是文件夹中的内容也可以进行差异对比 直接点击安装即可,除了选择 ...

最新文章

  1. SHT30温湿度传感器驱动设计分析及代码实现
  2. 飞书上点链接怎么指定跳转浏览器_链接示例表功能还可以这样用??
  3. 项目管理中的客户需求变更时需求分析和解决方法
  4. MVC把表格导出到Excel
  5. hdu 1460 完数
  6. 熊猫数据集_为数据科学拆箱熊猫
  7. 网页传世服务器端,传世服务端文件分析
  8. Nodejs学习笔记02【module】
  9. 数学建模之倾倒的啤酒杯
  10. ps 打开失败 提示:暂存盘已满
  11. [周鸿祎] 与其苟且活着,不如奋起抗争
  12. 杭电2818——带权并差集
  13. 达梦数据库安装及连接
  14. 1213:八皇后问题
  15. 学习java第6天 模仿XP画板(10%)
  16. 【网络工程师】<软考中级>局域网与城域网
  17. 【时间序列聚类】KMedoids聚类+DTW算法
  18. 周志华西瓜书学习笔记(一)
  19. 苹果手机变成耳机模式怎么调回来_百元真无线蓝牙耳机,竟比肩airpods?
  20. nid java_java – jstack输出缺少tid和nid信息

热门文章

  1. Centos6.5设置静态IP并能进行联网
  2. 发放米聊网页版邀请码
  3. 学计算机的人用的壁纸,桌面心理学:你的电脑桌面透露了什么?
  4. 光盘安装win7系统显示缺少所需的cd dvd驱动器设备驱动程序
  5. Apriori算法--关联规则挖掘
  6. 在家陪爸妈玩斗地主的一些感受
  7. 异构智能吴韧:对标英伟达和 Google ,要做专用的 AI 芯片
  8. 一个手办能卖到成千上万,但很多人不知道建个游戏角色模型,月薪就3W+
  9. 设置透明色有残留怎么办_手机内存不够怎么办 如何给手机内存扩展【介绍】...
  10. 依赖libcurl库实现sftp的下载功能