美文网首页
svn分支及版本管理操作说明

svn分支及版本管理操作说明

作者: 微小码 | 来源:发表于2017-06-11 14:12 被阅读2271次

脑图版本

http://naotu.baidu.com/file/939cc7e10d98c9732f7b2cd10bdb1306?token=b51334feec1cc68b

一.为什么需要?

假如你的某个APP项目(例如1.0版本)已经完成开发、测试并已经上线了。

接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时候,突然接到用户或测试人员的反馈,项目中有个重大bug需要紧急修复,并且要求bug修复后要立即上线。

此时应该怎么修复bug呢?是在当前已经开发新需求的基础上进行修复吗?

答案是否定的

原因是:如果是在已经开发新需求的基础上进行修复bug,那么新需求还没开发好,更没有测试,怎么立刻(或最可能快的)上线?!

再次如果新功能的开发和bug修复的代码都涉及到同一段代码冲突了怎么办 。

很显然不能在当前开发的代码基础上进行bug修复工作
完美的解决方案是:在当时完成的那个版本中进行bug fix

这样带来的好处是:

1:bug修复好之后可立即上线,不会因为新需求还没有完成或测试而延迟上线时间

2: bug修复是在原来上线的那个版本进行修复的,引起新bug的风险小,如果是在新需求的基础上修复bug, 那么新功能可能会带来新的bug

二.几个概念

trunk(主干|主线) branchs(分支) tags(标记)

  • truck(主干|主线|主分支):是用来做主方向开发的,新功能的开发应放在主线中,当模块开发完成后,需要修改,就用branch。

  • branch(分支):分支开发和主线开发是可以同时进行的,也就是并行开发,分支通常用于修复bug时使用

  • tag(标记):用于标记某个可用的版本,可以标记已经上线发布的版本,也可以标记正在测试的版本,通常是只读的

三.windows

前言

windows下svn服务搭建工具

VisualSVN Server Manager

下载地址:

https://www.visualsvn.com/

1.创建项目

第一步:创建trunk,branches,tags目录

第二步:上传项目代码到主分支(trunk下)




成功提交代码到主分支(trunk)

2.如何创建分支

开发了一段时间,完成了某一个功能或者完成了某一个阶段或者某一个版本的开发,就需要新建一个分支

选择branches分支地址,输入分支名称

注意:分支名称的命名(项目名称日期功能点或版本号)

刷新svn就可以看到最新的分支了

3.如何发布版本

再开发一段时间后,就需要发布版本了,那么就需要打tags了

刷新svn就可以看到最新的tags了

4.如何切换分支

上次发布的V1.0.0版本有BUG需要修复,那么就需要从主分支代码切换到分支代码。

5.如何合并分支

上次修改完的V1.0.0分支BUG的代码如何合并到主分支呢?

提示文件合并的状态

合并代码后,可能会有一些冲突文件,需要逐个去解决即可。

6.版本记录(参考)

https://shimo.im/sheet/L7DIHD13tjEEGAzs/「版本记录」

常见问题1:合并分支代码报错

需要配置svn接口为JavaHL(JNI)即可

工具-->选项

四.mac

前言

如何在mac下搭建svn服务

http://www.jianshu.com/p/44cf36789c92

mac下svn版本管理工具

versions

1.创建项目

同windows

2.如何创建分支

同windows

3.如何发布版本

同windows

4.如何切换分支

同windows

5.如何合并分支

同windows

6.版本记录(参考)

https://shimo.im/sheet/L7DIHD13tjEEGAzs/「版本记录」

常见问题1:合并分支代码报错

需要配置svn接口为JavaHL(JNI)即可

1.首先 需要手动安装subclipse插件

注意:一定要安装1.12.x版本(其他版本JavaHL无法使用)

http://subclipse.tigris.org/update_1.12.x/

2.然后 工具-->选项

这样就可以正常使用分支合并了。

参考文章

SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

http://blog.csdn.net/vbirdbest/article/details/51122637

对merge的理解

http://www.mamicode.com/info-detail-1372522.html
JavaHL是什么?

JavaHL is a part of the Subversion project.具体地说,它是Java语言绑定的Subversion API。 Subversion提供了一个分层的API设计,交付作为本地库(DLL)

Mac下安装JavaHL说明

brew install subversion --with-java

http://www.jianshu.com/p/1910939ece62

相关文章

  • svn分支及版本管理操作说明

    脑图版本 http://naotu.baidu.com/file/939cc7e10d98c9732f7b2cd1...

  • 在centos下如何用apache运行gitlab

    公司的代码管理需要从svn转为git。之所以放弃svn,我们主要考虑git具有更灵活的代码冲突管理、分支及版本管理...

  • Android Studio 合并分支代码到主干的操作

    [Android Studio 合并分支代码到主干的操作] 一、背景 使用SVN进行版本管理时,一般的,我们的所有...

  • git常用命令

    svn与git原理的区别svn记录每一次版本的变动git将每个版本独立保存,有益于分支管理同时同样复制大量分支和文...

  • Git三剑客之Git

    一、Git概述 版本管理的演变1)集中式的版本管理(SVN) 有集中的版本管理服务器 具备文件版本管理和分支管理能...

  • Git Flow流程

    Git的优势: 1.Git是一个分布式的版本控制系统,这一点可以对比svn分支管理系 svn多个开发人员共用操作同...

  • 深度剖析Git的内部原理!保证你看不懂

    前言 我们知道Git是一款优秀的版本控制工具,在分支管理方面相比SVN有很大优势。SVN创建分支的原理实际上是对于...

  • Git--第5章--“必杀技”-Git分支

    团队合作利器:Git 分支管理 Git 相比于 SVN 最强大的一个地方就在于「分支」,Git 的分支操作简直不要...

  • iOS小组代码分支管理

    代码分支管理规范 为了规范代码库分支管理和版本管理,使代码分支及版本结构清晰,方便维护,并避免由于维护造成的错误的...

  • git 分支规范

    git分支规范 目的 为了规范代码库分支管理 和 版本管理,使代码分支及版本结构清晰, 方便维护,并避免由于维护造...

网友评论

      本文标题:svn分支及版本管理操作说明

      本文链接:https://www.haomeiwen.com/subject/rxphqxtx.html