一、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,咱们下其再说。

最新文章

  1. WIN32 API编程之 tap顺序
  2. Android应用更换package name以及ui refactoring error问题的有效解决
  3. Big Chocolate
  4. Java中的Scanner类和String类
  5. Using python to process Big Data
  6. python中的装饰器
  7. 【jquery】jquery.cookie.js 的使用指南
  8. .Net文件操作
  9. 浅析JavaScript函数的参数
  10. maven的pom.xml深入理解
  11. use magento default datepicker plugin in your project
  12. hdu 4975 A simple Gaussian elimination problem.(网络流,推断矩阵是否存在)
  13. spoj 1812 lcsII (后缀自动机)
  14. (翻译) Android ListView 性能优化指南
  15. 111_climbing-stairs
  16. axios的兼容性处理
  17. 一分钟告诉你究竟DevOps是什么鬼?
  18. Web版记账本开发记录(三)开发过程遇到的问题小结2
  19. js中函数表达式和自执行函数表达式的用法总结
  20. Scratch 数字游戏

热门文章

  1. 一文看懂YOLO v3
  2. RHSA-2018:3032-低危: binutils 安全和BUG修复更新
  3. Candy (candy)
  4. 第十四周C++学习总结
  5. day50 Pyhton 前端01
  6. hdu6376 度度熊剪纸条-----01背包
  7. Spring Boot使用Mybatis实现增删改查
  8. Scrapy中get和extract_first的区别
  9. java面试题:多线程交替输出偶数和奇数
  10. CNN作为denoiser的优势总结