`
bask
  • 浏览: 146708 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论
阅读更多
转自:http://panweizeng.com/archives/547

尽管svn没有作强制要求,但是一般svn版本库目录建议创建trunk、branches和tags三个目录。在实际操作时,trunk主干版本要时刻 保持干净,即随时可以基于这个版本进行修改并将应用部署上线。branches是分支目录,存放并行开发的项目代码,因为分支是主干的廉价拷贝(相当只是提交了一 次主干版本,增加了一个版本号, 并没有取出版本库作镜像拷贝),所以你可以放心建立很多分支版本。不过 Subversion不支持跨版本库的拷贝,当使用svn copy时你只能在同一个版本库内操作。tags目录存放trunk某个的快照,比如说release-1.0即trunk处于1.0版本时的快照。

使用svn来作团队的代码管理,那么分支和合并将是非常常用的操作。下面是一个简单的示例。

1. 创建分支。这里假设你要负责一个叫theme的项目,分支号1.7.2。

1. #这里的localhost是svn服务器地址
2. svn copy -m "1.7.2 - theme" svn://localhost/www/trunk svn://localhost/www/branches/branch1.7.2-theme
3. svn co svn://localhost/www/branches/branch1.7.2-theme

2. 从trunk中merge到分支。忙了一个星期终于开发完了,但是开发期间trunk版本有过改动,部署上线前你需要合并trunk的代码。

1. #branch1.7.2-theme是分支目录,注意不可以进到分支子目录
2. cd branch1.7.2-theme
3. #前面的12972是开分支之前trunk的版本号,后面的12991是merge时trunk的版本号
4. svn merge -r 12972:12991 svn://localhost/www/trunk

如果有冲突选择p(postpone),merge完了之后使用svn st|grep ^C查看冲突文件,然后比对修改冲突文件。解决冲突后再check in ,信息写上执行的merge操作。

1. svn ci -m 'svn merge -r 12972:12991 svn://localhost/www/trunk'

3. 从分支merge到trunk。上线测试完毕,你很幸运,一切都如预期正常,这时就要将分支 回归trunk,将trunk更新到最新。

1. #先从trunk checkout一份新鲜的代码,然后cd到该版本目录下
2. svn co svn://localhost/www/trunk
3. cd trunk
4. #12973是分支开始的版本号,13006是分支结束的版本号
5. svn merge -r 12973:13006 svn://localhost/www/branches/branch1.7.2-theme

如步骤2一样解决冲突,解决冲突后再check in,信息写上执行的merge操作。

1. svn ci -m "svn merge -r 12973:13006 svn://localhost/www/branches/branch1.7.2-theme"

相关的手册可以参阅svn文档,电子版点这里下载
分享到:
评论

相关推荐

    SVN分支与合并【超详细的图文教程】

    SVN分支的意义: 简单说,分支就是用于区分开发版本与当前发布版本的。  1、 主干负责新功能的开发  2.、分支负责修正当前发布版本的bug(对于可以放入下个发布版本的改进性bug可以直接在主干上开发)  3.、...

    SVN分支合并到主干 冲突处理

    本文将详细讲解如何进行SVN分支与主干的合并以及冲突处理,帮助开发者更好地理解和掌握这一核心操作。 ### SVN分支与主干的概念 在SVN中,"分支"和"主干"是两个重要的概念。主干(Trunk)通常代表项目的主要开发线...

    SVN 分支与合并详解

    下面是对SVN分支与合并的详细讲解。 1. SVN分支创建: 在SVN中,创建分支通常是为了进行长期的特性开发或隔离修复工作。你可以通过`svn copy`命令或者在图形界面工具中选择“创建分支”选项来实现。例如,要从...

    Eclipse svn创建分支、合并、切换讲解

    3. 点击 Finish,完成,可以看到项目里出现了分支 merge_v1.0 分支中第 9026 次提交的东西最后提交即可,分支合并主干顺利完成。 四、冲突解决 在合并操作中,可能会出现冲突问题。冲突问题是指在合并过程中,出现...

    svn分支合并基本操作

    【SVN 分支合并基本操作】是软件开发中配置管理工具 Subversion (SVN) 的核心功能之一,它允许开发团队协同工作,各自在独立的分支上开发,然后将改动合并回主干,以保持代码的稳定性和一致性。以下是详细的操作步骤...

    SVN创建、合并与切换分支操作详解

    以下是对SVN创建、合并和切换分支操作的详细解释: ### SVN目录结构 1. **trunk**:这是主开发分支,通常存放项目的主线开发代码。日常开发工作在此分支上进行,确保最新的稳定代码在这里。 2. **branches**:分支...

    SVN分支与合并

    SVN分支与合并,从创建分支到合并分支,步骤图文详解

    SVN分支的合并和同步

    SVN分支的合并和同步 SVN(Subversion)是一种版本控制系统,能够帮助开发者有效地管理项目代码。其中,分支(Branch)和合并(Merge)是两个非常重要的概念。本文将对SVN分支的合并和同步策略进行详细的介绍。 ...

    SVN 拉分支及合并演示

    合并是将分支上的更改合并回主干或与其他分支合并的关键操作。SVN 提供了三种类型的合并: 1. **合并一个范围的版本** 这是最常见的合并方式,用于将分支上的所有或特定版本的更改合并到主干。在主干的工作副本上...

    svn拉分支合并文档

    "svn拉分支合并文档" SVN(Subversion)是一种开放源代码的版本控制系统,相比RCS和CVS,它采用了分支管理系统。SVN的主要特点是支持分布式版本控制,能够对文件和目录进行版本控制。 svn目录结构: * 每个子系统...

    SVN分支的创建与合并

    SVN 分支的创建与合并是版本控制系统中非常重要的特性,可以帮助开发者更好地管理和维护代码。通过创建分支,可以将新的特性或 bug 修复工作与主干分离,避免对主干的干扰。当新的特性或 bug 修复工作足够稳定之后,...

    SVN分支机制和开发规范

    二、 SVN分支简介 1、SVN仓库目录结构Repository 2、 结合eclipse创建分支 3、 结合eclipse创建标记tags 三、 合并主干和分支 1、 主干合并分支 2、 分支合并主干 3、 合并发生冲突 情况1:标记冲突,稍后处理。 ...

    SVN分支及合并使用文档.doc

    SVN分支的主要目的是为了支持并行开发和维护。例如,当一个大型项目需要多个人协同工作时,可以创建分支让每个成员在各自的分支上独立开发,避免相互干扰。此外,修复bug时,通过创建分支保存原始状态,避免直接在...

    SVN使用的分支与合并

    SVN 分支与合并详解 SVN(Subversion)是一...SVN 的分支与合并功能可以帮助我们更好地管理软件开发过程,提高项目的效率和质量。但是,需要注意的是,在使用分支与合并时,需要遵守一定的规则和惯例,以免出现问题。

    TortoiseSVN 分支与合并操作

    在软件开发中,分支管理和合并是至关重要的功能,能够支持团队并行开发,同时保持代码的一致性和完整性。下面我们将详细探讨TortoiseSVN中的分支与合并操作。 ### 1. 创建分支 创建分支的主要目的是为了解耦开发...

    svn分主干合并,让你分主干合并立马搞定

    本文将详细解释如何执行 SVN 分支合并,特别是如何将开发分支合并到主干分支。 首先,创建主干分支是合并过程的起点。在提供的示例中,开发人员使用 `svn cp` 命令从主干创建了一个新的分支。这一步骤确保了开发...

    用SVN分支管理多版本

    ### SVN分支管理多版本知识点详解 #### 一、引言 在软件开发过程中,随着项目的迭代更新,如何高效地管理不同版本之间的代码成为了项目管理中的一个重要环节。Subversion(简称SVN)作为一款广泛使用的版本控制...

    svn主干与分支互相合并

    新手看看。高手绕道。主要是关于svn主干与分支互相合并的问题

    svn版本之间的合并问题

    4. **使用更高级的合并工具**:虽然SVN内置的合并工具已经相当强大,但在处理复杂的树冲突时,使用如TortoiseSVN或VisualSVN等图形界面工具可能会更加直观和高效。 5. **重置操作**:在某些情况下,完全清除目标...

Global site tag (gtag.js) - Google Analytics