SVN 分支管理
2016-02-05 22:40
423 查看
平时在工作中使用 SVN 只是限于 commit,update 这样的操作,至多再 reslove 解决一下冲突,没有用过分支管理。开发过程中一般都是一个功能开发完成之后整体进行提交,而最近在项目中有一个比较大并且开发周期比较长的功能,所以在功能没有完成之前不方便进行提交,所以想到了使用分支管理,边学边用(所以工作最好一定要选开发流程规范的公司)。
SVN 目录结构一般包含 Trunk,Branches,Tags 三个一级目录。
Trunk 表示主干目录,从这里创建分支
Branches 表示分支目录,放置项目的 release 版,开发人员在这些版本上进行开发和测试,完成之后需要合并到 Trunk 中
Tags 存储项目的发布版本,一般设置为只读
流程:
① 首先在服务器创建新的 SVN 仓库并且进行配置(见:/article/6624917.html)
仓库名:svnproject
仓库路径:/usr/local/www/svnroot/svnproject
② 在客户端创建目录 svnproject
进入 svnproject,右键 SVN Checkout
③ 在 SVN 服务器创建 Trunk 目录
在客户端目录 svnproject 中右键 TortoiseSVN,选择 Repo-browser,在服务器仓库目录上右键,选择 Create folder
创建 Trunk 目录
④ 回到客户端,在 svnproject 目录中右键,选择 SVN Update
此时 svnproject 目录中就多了 Trunk 目录。
进入 Trunk 目录,新建项目文件夹 project,在 project 里创建 index.php
把 project 目录 add 并且 commit。
⑤ 开始创建分支
在客户端 Trunk 目录上右键,选择 TortoiseSVN -- Branch/tag(也可以在服务器上进行 copy to)
在 To path 中填写 Branches 的路径名称
在 Create Copy in the repository from 中选择 HEAD revision in the repository,表示选择 Trunk 中最新的代码建立分支
ok -- ok
(服务器上的)分支建立完成。
可以在 svnproject/Trunk 上右键选择 TortoiseSVN -- Revision graph 查看分支示意图
⑥ 在客户端 svnproject 中 SVN Update,Branches 就从服务上更新了下来。
进入 Branches 目录,发现里面有一个完整的 project 项目
⑦ 合并分支
在客户端中,编辑分支中的 svnproject/Branches/project/index.php
同时编辑主干中的 svnproject/Trunk/project/index.php
将两个修改过的文件全部 commit。
将分支合并到主干
在 svnproject/Trunk/project 上右键,选择 TortoiseSVN -- Merge
在 Merge type 中选择第二项 Merge two different trees
Next
在 From 和 To 中都选择要合并的分支目录
起始 URL :在 From 的 Revision 选择创建分支时的那个Revision:点击Show log,选择最下面一条,原因是该版本是分歧的起始点
结束 URL :在 To 的 Revision 选择 HEAD Revision,也就是最新操作,即分歧的结束点
Next -- Merge
此时 svnproject/Trunk/Project/index.php 已经发生改变
参考:
1.关于SVN中的Branches与Tags
2.SVN的标准目录结构:trunk、branches、tags
3.SVN版本控制与分支设置
4.使用TortoiseSVN新建及合并分支图文教程
5.企业使用SVN策略
6.svn 版本控制 trunk branch tag
7.Subversion版本控制 — 分支和合并(三)
8.解决版本冲突-使用SVN主干与分支功能
9.实例剖析TortoiseSvn分支合并
/*环境: * 服务器操作系统 - CentOS 6.6 * SVN 服务器 - Subversion 1.6.11 * 客户端操作系统 - Windows 10 64位 * SVN 客户端 - TortoiseSVN 1.9.2 */
SVN 目录结构一般包含 Trunk,Branches,Tags 三个一级目录。
Trunk 表示主干目录,从这里创建分支
Branches 表示分支目录,放置项目的 release 版,开发人员在这些版本上进行开发和测试,完成之后需要合并到 Trunk 中
Tags 存储项目的发布版本,一般设置为只读
流程:
① 首先在服务器创建新的 SVN 仓库并且进行配置(见:/article/6624917.html)
仓库名:svnproject
仓库路径:/usr/local/www/svnroot/svnproject
② 在客户端创建目录 svnproject
进入 svnproject,右键 SVN Checkout
③ 在 SVN 服务器创建 Trunk 目录
在客户端目录 svnproject 中右键 TortoiseSVN,选择 Repo-browser,在服务器仓库目录上右键,选择 Create folder
创建 Trunk 目录
④ 回到客户端,在 svnproject 目录中右键,选择 SVN Update
此时 svnproject 目录中就多了 Trunk 目录。
进入 Trunk 目录,新建项目文件夹 project,在 project 里创建 index.php
把 project 目录 add 并且 commit。
⑤ 开始创建分支
在客户端 Trunk 目录上右键,选择 TortoiseSVN -- Branch/tag(也可以在服务器上进行 copy to)
在 To path 中填写 Branches 的路径名称
在 Create Copy in the repository from 中选择 HEAD revision in the repository,表示选择 Trunk 中最新的代码建立分支
ok -- ok
(服务器上的)分支建立完成。
可以在 svnproject/Trunk 上右键选择 TortoiseSVN -- Revision graph 查看分支示意图
⑥ 在客户端 svnproject 中 SVN Update,Branches 就从服务上更新了下来。
进入 Branches 目录,发现里面有一个完整的 project 项目
⑦ 合并分支
在客户端中,编辑分支中的 svnproject/Branches/project/index.php
同时编辑主干中的 svnproject/Trunk/project/index.php
将两个修改过的文件全部 commit。
将分支合并到主干
在 svnproject/Trunk/project 上右键,选择 TortoiseSVN -- Merge
在 Merge type 中选择第二项 Merge two different trees
Next
在 From 和 To 中都选择要合并的分支目录
起始 URL :在 From 的 Revision 选择创建分支时的那个Revision:点击Show log,选择最下面一条,原因是该版本是分歧的起始点
结束 URL :在 To 的 Revision 选择 HEAD Revision,也就是最新操作,即分歧的结束点
Next -- Merge
此时 svnproject/Trunk/Project/index.php 已经发生改变
参考:
1.关于SVN中的Branches与Tags
2.SVN的标准目录结构:trunk、branches、tags
3.SVN版本控制与分支设置
4.使用TortoiseSVN新建及合并分支图文教程
5.企业使用SVN策略
6.svn 版本控制 trunk branch tag
7.Subversion版本控制 — 分支和合并(三)
8.解决版本冲突-使用SVN主干与分支功能
9.实例剖析TortoiseSvn分支合并
相关文章推荐
- 2016-2-5 linux基础学习11
- html需要掌握的几个全局属性
- bzoj2120 数颜色 分块
- Java 集合类
- int 转换成 CString(VC2008里有这个问题)
- POJ3694 Network(边双连通+LCA)
- pycharm 常用设置
- mysql_real_escape_string总是返回false
- 爬虫基本知识
- JavaScript的this分别代表什么
- 用户爬虫例子
- 开源爬虫
- 终于懂了:Delphi消息的Result完全是生造出来的,不是Windows消息自带的(Delphi对Windows编程体系的改造越大,学习收获就越大)
- 【HDOJ】3686 Traffic Real Time Query System
- HDU——1019Least Common Multiple(多个数的最小公倍数)
- Yaf安装及配置
- java中形参长度可变的方法
- 多态
- 大话设计模式之初印象
- 【机房重构】——七层登陆代码分析