企业中真实需要的集中管理软件SVN即Subversion版本控制

  • 2020 年 11 月 11 日
  • 笔记
一、SVN基本概念
  • SVN是Subversion的简称,是一个自由开源的版本控制系统。

  • checkout: 把整个项目源码下载到本地

  • update: 从服务器上更新代码,使本地达到最新版本

  • commit: 将本地源码提交到服务器

  • 两种存储方式:BDB、FSFS,一般用后者更安全

二、SVN常用操作
  • 浏览仓库:文件夹内右键–>TortoiseSVN–>Repo-brower

  • 下载全部文件: 文件夹右键–>TortoiseSVN–>checkout–>文件夹出现绿色对勾–>文件夹内出现.svn隐藏文件

  • 添加文件到本地仓库: 在文件夹内添加一个文件–>TortoiseSVN–>add

  • 提交文件到服务器:选中文件夹内文件–>TortoiseSVN–>commit–>成功又变成绿色对勾

  • 更新到某个版本:选中文件夹内文件–>TortoiseSVN–>show log–>选择版本–>右键–>update item to revision

    或者 选中文件夹内文件–>TortoiseSVN–>填入版本号

  • 删除文件:选中文件夹内文件–>TortoiseSVN–>Delet–>此时删除的是本地仓库的文件–>再次commit,才能删除服务器文件

  • Export导出文件:右键–>TortoiseSVN–>Export–>导出的文件时没有隐藏文件.svn的,也就是说它不受版本控制

  • 产生冲突和解决:当多个用户同事提交到服务器时,导致你与服务器版本不同步,当你在提交时就会产生冲突

    选中冲突的合并文件–>Edit conflicts–>右键选择使用使用那个文件和文件内容的顺序–>Mark as resolved –>commit–>冲突解决

三、IDEA下SVN配置与使用

  1. 配置svn: File–>Settings–>version control–>Subversion–>选择svn安装路径bin下的svn.exe–>Apply
  2. 将工程提交到SVN服务器:VCS–>import into Version Control–>Share Project(Subversion)–>添加连接–>选择版本–>进行提交
  3. 从SVN下载项目:VCS–>Checkout from Version Control–>Subversion–>添加链接
  4. 这五个图标依次意思如下:
    • Update Project 更新项目
    • Commit changes 提交项目上所有变化文件
    • Compare with the Same Repository Version 当前文件与服务器文件进行对比,如果当前没有改动,则不可点击。
    • Show history 显示当前文件的历史记录
    • Revert 还原当前被修改的文件到违背修改的版本状态下
四、SVN目录规范

在创建仓库的时候,选择svn目录结构–>Single-project repository(with the top-level’trunk’,’branches’ and ‘tags’ folders)

Trunk主干目录,此目录下的文件为基准文件

Branches用于开发的分支目录

Tags 用于发布的版本目录

打分支/标记:在主干的目录里–>TortoiseSVN–>Branch/tag–>在选对应的类型+命名规范

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

主干合并到分支,首先保证主干是最新的(update),然后在分支这边进行操作。分支合并到主干,相反。

常用的一般操作,大家可以了解一下,这也是进入企业一定会接触的,还有一个分布式的管理工具就是Git,咱们下其再说。