Android Studio中的svn 主干、分支开发合并

2019-05-14  本文已影响0人  全球顶尖伪极客

原则:

分支合并两种方式:
1 、开两个工程:
2 、开一个工程(更新、提交、切换分支、合并

这种情况下适用于确保本地开发结束或者阶段结束并全部提交代码后,先切换分支(update 并勾选),再将分支/主干合并到主干/分支上。

两种方式的工程名均可不一致,需要注意的是revision version number。以下记载为之前的,跟补充的个别的不一致,但是仍可参考。

前言

干了android几年,团队几个人共同开发一个项目的情况下关于 svn的管理根据各自负责的模块都在主干trunk上开发合并,上线release后打tag版本,虽然也能满足svn合并管理,然而觉得既然有分支一说还是琢磨琢磨分支是怎么回事、怎么使用。

根据项目需求要求并行开发、需求上线时间不一致,可能并行开发多个需求,而先上线的需求版本不能携带未上线的正在开发或已完成开发的代码内容,这就体现出分支开发的重要性。

创建分支时记得添加创建信息,合并的时候需要!!!使用AS下载trunk下的代码和分支branches下的代码,开两个工程,各自提交,合并前,先更新,保持跟svn代码一致。先将主线合并到分支,如果是首次合并,则分支的revision number为创建分支前的最后一次提交的revision number(也可为创建分支时的信息number)。切换分支,可在分支工程切换到主线svn路径。

现介绍下大体合并流程。

根据我所理解的分支开发,现在一步一步记录下我所操作的完成流程。

image.png

创建好的svn服务器工程目录


image.png

使用AS的操作步骤流程

创建分支时主干最后一次提交代码写上提交注释,该注释对应的revision number很重要。创建成功后可更改主干的代码并提交。 创建分支二选一,一般选择从svn服务器copy路径。

image.png image.png image.png

分支路径可能不可以选,那可以直接复制对应的branches地址粘贴进去即可。

image.png image.png image.png image.png image.png image.png image.png image.png

注意:如果将 主干合并到分支时,因为要的是主干最新的内容,所以默认主干source2选择的revision为HEAD即可,而source1是source2创建的,也就是分支代码是跟主干创建分支前最后一次提交代码对应的revision的版本一致或者说就是创建分支时的代码一致(在svn上),而主线更改了,分支也可能更改了,所以合并的时候将最新的主线内容合并到创建主线之前的最后一次提交的revision number代码合并,这样既能保证包含主线最新内容,也能检测出主线跟分支冲突的地方,也不干扰分支新建的内容。如果非首次合并,已经合并过了,那么分支选择为最后一次合并的revision number

image.png image.png

根据上面的流程操作后到合并那步流程,如下

image.png
image.png image.png image.png
image.png
image.png image.png

将分支合并到主干上。


image.png

问:

trunk提交了代码,合并到branches,trunk创建branches的commit id为1,trunk提交的commit id为2 合并的时候branches的指向为1,合并后提交的branches commit id为3,然后再次更改了trunk并提交为4,更改branches 并提交为5,那此时再将trunk合并到branches branches指向几?
答:最后合并没有提交,所以还是指向5,生成新的id6 ?

image.png

????

上一篇 下一篇

猜你喜欢

热点阅读