企业中真实需要的集中管理软件SVN即Subversion版本控制
一、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配置与使用
- 配置svn: File-->Settings-->version control-->Subversion-->选择svn安装路径bin下的svn.exe-->Apply
- 将工程提交到SVN服务器:VCS-->import into Version Control-->Share Project(Subversion)-->添加连接-->选择版本-->进行提交
- 从SVN下载项目:VCS-->Checkout from Version Control-->Subversion-->添加链接
- 这五个图标依次意思如下:
- 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,咱们下其再说。
最新文章
- WIN32 API编程之 tap顺序
- Android应用更换package name以及ui refactoring error问题的有效解决
- Big Chocolate
- Java中的Scanner类和String类
- Using python to process Big Data
- python中的装饰器
- 【jquery】jquery.cookie.js 的使用指南
- .Net文件操作
- 浅析JavaScript函数的参数
- maven的pom.xml深入理解
- use magento default datepicker plugin in your project
- hdu 4975 A simple Gaussian elimination problem.(网络流,推断矩阵是否存在)
- spoj 1812 lcsII (后缀自动机)
- (翻译) Android ListView 性能优化指南
- 111_climbing-stairs
- axios的兼容性处理
- 一分钟告诉你究竟DevOps是什么鬼?
- Web版记账本开发记录(三)开发过程遇到的问题小结2
- js中函数表达式和自执行函数表达式的用法总结
- Scratch 数字游戏