首先需厘清SVN的分支以下几个概念:
trunk: 主干(可以理解为开发环境的代码,平常做开发的工作目录)
branches:从主干拷贝了一份代码重新在svn服务器上的建了个分支目录(通常叫branch,一般与生产上的代码保持同步)
tag:主干版本标记(标识每次大的升级版本号)。
我们项目目前的版本管理策略如下(可以根据自已的项目实际需要建立不同的版本管理策略):
1、系统在没有上线之前,只有一个主干(trunk),所有开发人员在主干上进行协同开发。
2、系统上线之后,在主干的基础上创建一个分支,该分支上主要用于修复生产环境的BUG,或者紧急新功能上线。主干仍然进行新功能模块的开发。
3、每次生产环境的升级,都从分支上进行打包部署。升级完之后需将分支上改动的代码及时合并到主干上(开发人员常常忘记,切记)。
4、新功能在主干上开发好了,需要进行一次大的升级,可以先将主干打上一个TAG做为大版本号,并且同时在此基础上创建一个对应的分支,然后切换到分支上进行打包部署,这个版本的生产代码维护也在分支上。
原则:分支用于生产代码维护,主干用于平时开发,TAG用于主干大版本的标记。
由于我们项目由好几个子系统构成一个大的集群系统,系统之间的版本统一就显得很重要。所以每次上线,即使相关子系统没有代码改动,也需要重新建立一个分支版本以适应其它子系统的版本改动。
说了这么多之后,来说下具体分支合并到主干上的操作,因为这部分最容易出错:
合并根据目标不同分为2种:
1、分支合并到主干:主要用在修复完生产BUG,并上线之后。需把改动的代码合并到主干上。
2、主干合并到分支:公用的逻辑改动,需反映到所有并行的分支上。
注意:合并是要在目标目录上进行操作的,如:分支合并到主干(主干为目标),需切换到主干上操作合并功能,主干合并到分支(分支为目标),需切换到分支上进行操作。
分支合并到主干的具体步骤:
1、主干目录右键选择合并
出现以上6个合并选项,
第一个选项:合并指定的版本,可以是从分支合并到主干,也可以是主干合并的版本,主要作用把分支的部份修改合并到主干上。
第二个选项:复兴分支,这里会把分支上所有的需改都合并到主干上。如果只想合并修改的一部分,并适合这项。
第三个选项:将主干上的修改合并到分支。
第四个选项:2个不同的分支合并,但其实也可以是分支和主干的合并,只要from选择为主干就行。
通常选择第一项或第四项进行操作,这里需要注意的是:
这里其实就是比对TO版本和FROM版本的差异,并把差异合并到TO的当前版本(head版本)中去。
注:如果要把分支所有的修改合并到主干上,FROM需要选择主干创建见分支时的版本号,TO选择分支最新版本(head版本)就行了。
如果FROM也选择主干head版本,TO也选择head版本,就会把所有分支与主干不同的差异覆盖到当前主干上来。造成主干的文件被分支覆盖。
合并当中出现:
no uncommited modified :表示当前版本还有没有提交的文件,如果不需要提交就选择revert.
working copy at a single version:表示当前目录没有从SVN服务器更新最新的版本。update下后在操作就行了。
相关推荐
3. 点击 Finish,完成,可以看到项目里出现了分支 merge_v1.0 分支中第 9026 次提交的东西最后提交即可,分支合并主干顺利完成。 四、冲突解决 在合并操作中,可能会出现冲突问题。冲突问题是指在合并过程中,出现...
### Eclipse中利用SVN进行分支管理 #### 一、创建分支 在Eclipse中通过Subversion (SVN) 创建分支是一种常见的版本控制操作。以下是具体的步骤: 1. **选择项目**: - 在Eclipse中打开您的项目。 - 右键点击您...
目录 一、需求背景 ...2、 分支合并主干 3、 合并发生冲突 情况1:标记冲突,稍后处理。 情况2:如果合并时,提示冲突时需要在线比对文件内容 四、 发布稳定版本到tags 五、 强制规范 六、 经验分享
- 可以选择从主干合并到分支、从分支合并到主干等不同操作。 - 根据需求选择合并选项,点击“OK”后会显示差异列表供用户确认。 #### 四、实践总结 通过上述步骤,我们可以有效地利用 SVN 进行项目的版本管理和...
* 合并分支:可以将不同的分支合并到一起,例如将功能分支合并到主干上。 svn的权限管理: * 权限控制:可以根据需要设置不同的权限,例如读取、写入、执行等。 * 访问控制:可以根据需要设置不同的访问控制,例如...
- **主干到分支**:有时也需要将主干中的最新改动同步到某个功能分支中,比如修复了一些基础性的bug。 - **分支到分支**:当有两个不同的功能分支时,可能需要将其中一个分支的代码合并到另一个分支中。 #### 二、...
4. **使用SVN**:现在,你可以在Eclipse的“Team”菜单中看到与SVN相关的选项,如“Share Project”(共享项目到SVN)、“Synchronize”(同步)、“Commit”(提交)、“Update”(更新)等。这些功能使得开发者...
#### 四、从分支合并到主干 当分支上的新需求开发完成并通过测试后,就需要将其合并回主干,以便进行下一步的开发或部署。 1. **提交分支代码**: 确保分支中的所有更改都已经提交到SVN仓库。 2. **执行合并操作**:...
- **合并**(Merge):将分支的更改合并回主干,或者将主干的更改合并到分支。 5. **使用版本标签**:除了分支和合并,SVN还支持创建标签(Tag)。标签是某个特定时间点的代码快照,通常用于标记重要的里程碑或...
标题"eclipse和myeclipse SVN插件"指的是将SVN的功能集成到这两个IDE中,这样开发者可以在熟悉的环境中进行版本控制,如提交、更新、查看差异、合并冲突等。 描述中的"svn插件 Jar包"是指为了在Eclipse或MyEclipse...
使用`svn copy`命令创建分支,再通过`svn merge`进行合并。 - **标签创建**:对于重要的版本或里程碑,可以使用标签(tag)进行标记,便于回溯历史版本。 - **冲突处理**:在多人协作时,可能会遇到文件冲突。SVN...
2. **版本控制操作**:在TortoiseSVN中,你可以进行"Commit"(提交)操作来保存本地更改到仓库,"Update"(更新)来获取他人最新的更改,"Merge"(合并)处理分支和主干之间的差异。 3. **冲突解决**:当多个用户...
在Eclipse中安装SVN Connector是必不可少的步骤,因为它是Eclipse与SVN之间的桥梁,使得开发者能够在Eclipse内部直接进行版本控制操作,如添加、删除、更新、提交文件,以及查看文件历史和解决合并冲突等。...
- **最终合并**:当`branch`的功能开发完成并经过测试后,可以使用“Reintegrateabranch”选项将整个分支合并回`trunk`。 ##### 切换分支 在开发过程中,开发人员可能需要在不同的分支之间切换,以便进行测试或者...
- 分支管理:允许并行开发,降低主干分支的风险。 - 安全性:通过权限控制,确保只有授权人员能访问和修改代码。 综上所述,SVN是软件开发中的重要工具,无论是在客户端、服务端的设置,还是通过Eclipse插件进行...
- Merge(合并):处理分支与主干之间的代码冲突。 - Revert(还原):撤销本地更改。 6. SVN冲突解决: - 当多人同时修改同一部分代码时,可能会出现冲突。Eclipse会标记出冲突的文件,用户需要手动解决冲突后...
2. **执行合并命令**:使用SVN客户端或者Eclipse中的SVN插件执行合并操作,例如从分支B2合并到主干。 - Eclipse SVN插件操作: - 在Eclipse中,右键点击主干目录,选择“Team” -> “Synchronize with Repository...
目录如下: 一、下载和安装 二、配置和使用方法【服务器端】 ...四、测试主干和分支合并 1、测试号1 2、测试号2 3、测试号3 4、测试号4 五、发布稳定版本到tags 六、实际开发和发布约定 七、友情提示 八、参考
Eclipse的SVN插件是开发环境中非常重要的一个工具,它使得开发者能够在Eclipse IDE内直接进行版本控制操作,如代码的提交、更新、合并等,极大地提升了开发效率。Subclipse是Eclipse的一个流行SVN插件,它将...