svn

VisualSVN介绍

TortoiseSVN操作

冲突问题与解决

IDEA下 SVN 配置与使用

VisualSVN介绍

SVN是Subversion的简称,是一个自由开源的版本控制系统。
Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服
务器,不同的是,它可以记录每一次文
件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查 
看数据的更改细节

SVN是一种集中式管理代码的版本控制系统,原理就是把代码都保存到一个
固定的位置(仓库),每次从这个位置
拷贝更新代码,进行编辑;再把修改后的代码提交到该目录中。多人协作开
发也是如此。因此需要一个类似Oracle
或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的服务端
——VisualSVN Server。还需要一个
用户的操作端,用于提交更新检出代码,

SubVersion 官网:http://subversion.apache.org/

 我们会介绍常用的svn工具,如window下svn服务器VisualSVN,客户端工具
 TortoiseSVN以及idea svn插件的使用
 
 下载安装VisualSVN服务器,TortoiseSVN客户端工具
  
  创建仓库,
  还可以创建用户,需要设置用户名和密码,
  还可以创建组,组里可以包含多个用户
  可以给组或者用户分配权限,读或无法访问或读写

TortoiseSVN操作

  浏览仓库
  选择TortoiseSVN  后Repo-browser  
  正常情况会要我们输入账户,密码,就是我们设置的用户的密码,
  我们可以点击保存,防止每一次都要输入账户,密码
  
  也可以选择删除保存,srttings下选择Save Data 
     Authentication data  ,选择Clear all就可以了
    
  
  1. svn Checkout  第一次在所连服务器上下载资源
      会有一个.svn目录,是一个隐藏目录。如果没有出现,有可能是电脑默认
      给隐藏了

  2.add,将文件添加到本地仓库里,但是svn服务器的并没有发生改变,需要
      我们commit提交一下,
  3.update  
      它是更新操作,可以将svn服务器上的内容更新到本地
  
  4. 更新到历史版本 
      TortoiseSvn选择shoe log
      然后在想恢复的版本里右键选择  Update item to revision

在这里插入图片描述
在这里插入图片描述

       也可以直接选中文件TortoiseSvn选择Update item to revision,在弹出的框
       框里面有一个版本选择,填写想要恢复的版本号即可

  5.delete
     标记删除操作,本地文件会删除,我们需要进行提交,才能真正从服务器
     删除

  6. 导入与导出
       Import将本地资源导入到svn服务器
       Export导出项目,就是将整个仓库个下载下来了,和checkout的区别,它
       不存在.svn隐藏文件,不受svn版本的控制

冲突问题与解决

 假设有两个用户 
  用户1和用户2
  两人共同操作一个仓库
  当用户1修改仓库内容并且提交了,假设版本为3,svn服务器内的资源也改
  变了,此时,用户2没有去从服务器去宕已经修改的资源,而在原来的基础
  上去做了修该,那么此时svn服务器上已经有了3的版本,而用户2又又提交
  了一个3的版本,所以会报错,
   
  此时会弹出一个窗口,我们点击update后,会多出来几个文件
 
  一个后缀为mine的文件,它是本地修改后的文件
  还有两个文件,后缀是r版本号的
  一个是修改前的文件,一个是已经提交给服务器的文件
  
 我们需要在原来的文件上右键 TortoiseSvn选择Edit conflicts,去改变它们的
 内容,然后在commit提交Edit conflicts
   
  当然这种冲突我们可以尽量去避免它,就是每提交前都去服务器update一下 

IDEA下 SVN 配置与使用

   在idea下面使用svn,首先要保证TortoiseSvn安装好了,当然VisualSVN服
   务器也是必须的
  
  点击file  --> Settings-->Subversion
    然后在右侧去指定TortoiseSvn安装目录下的bin下的svn.exe程序

在这里插入图片描述

      如果发现没有这个文件,那么我们就需要重新安装一下TortoiseSvn,
      在安装步骤下有一个connand ine dent  tool它的图标会显示一个红叉,
      这时我们就要去选择指定一个叫 
        Entire feature will be installed on local hard drive的选项,在安装就会有
        svn.exe文件了

在这里插入图片描述
在这里插入图片描述
将工程提交到svn服务器里

  点击idea的vcs 选择 import into version control,
   选择Share Project(Subversion)
    然后再弹出的框框里,添加仓库的路径
    然后选择路径,下方的选项就可以进行选择,选择的内容是将项目存放在
    哪个目录下面
    然后在选择版本就可以了

 将项目添加到svn服务器后,页面的窗口的上方会出现几个小图标
 将鼠标移到图标上方会有提示信息

在这里插入图片描述

   Update Project 表示更新项目
   Commit   提交变化了的项目
   Show history 显示当前文件的历史记录
   Revert 还原当前被修改的文件到违背修改的版本状态下
  
  窗口下方还有一个version Control 
  它是一个svn的一个窗口,其作用后面会讲,

在这里插入图片描述

 那么这些都是将项目纳入到svn管理后才会出现的
  
  其实呢,此时的svn服务器里面并没有该项目,因为我们还没有commit

如何去checkout 一个项目呢

 点击vcs选择checkout from Version Control选择Subversion,后添加要连接的
 仓库,选择要checkout的文件,最后选择要保持的位置就可以了

在这里插入图片描述

文件的忽略

 当我们上传文件时,总是一整个的项目提交,就比如java而言,他又很多的
 jar包,我们的idea工具也会产生一个.idea的文件,但这些文件是idea所需的 
 svn不需要这些,这个时候,我们就可以选择忽略这些文件,不需要提交

svn规范

在visualSVN中创建仓库时,可以选择svn目录结构
   有三个目录
   
 Trunk 主干目录,此目录下的文件为基准文件
 Branches 用于开发的分支目录
 Tags 用于发布的版本目录

假设有一个项目A,我们完成了1.0版本,这时就可以打一个tags标记
后续我们在A项目上添加一个新的模块(及时通讯),我们就可以开一个分支,又有一个公司需
要在我们A基础上添加财务管理模块,我们又可以打一个分支。
我们后续针对A的1.0版本在升级,我们不需要原来附加功能,就可以在原来的主干上继续开 
发,形成A2.0版本,开发完成后就可以在打一个tags

分支或标记的规范

分支的定义规则: Project name+日期时间+功能点

Tags的定义规则 Project name+版本号 版本号定义为三段数字
编号 xxx.xxx.xxx 第一个:革命性的产品升级版 第二个:新功能版 第三个:修正bug

如何标记分支

 在要打分支的目录里点击TortoiseSvn选择Branch/tags
 在to path那里选择要把分支打包到哪去,打包的名称要符合标准

主干与分支或标记的合并
主干合并到分支

  首先保证主干是最新的(先update),在分支这边进行操作
  TortoiseSvn选择Merge后,选择合并类型

在这里插入图片描述

  再弹出的页面里上面的url选择主干从哪来,也就是选择主干的路径,
  下面的选择到那里的分支里

在这里插入图片描述

   然后默认选项,然后merge
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值