Android Studio 使用SVN 主干和分支合并代码

SVN简单介绍

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

其它文章

OkHttp3简单使用和封装使用
Retrofit2.0+RxJava2.0封装使用
Android开发 多语言、指纹登录、手势登录
Android使用IconFont阿里矢量图标

下面我们要操作的有
  • 新建一个as项目
  • 忽略提交文件
  • 提价至SVN服务器
  • 创建分支
  • 切换分支
  • 合并分支
  • 解决代码冲突
  • 版本回滚
新建一个as项目

在本地某个地方新建一个as项目,为了测试我起名为TrunkSVNDemo。

Android Studio 使用SVN 主干和分支合并代码_第1张图片
新建一个as项目
忽略提交文件

点击 File->Settings->Version Control ->Ignored Files->右侧+号->弹出选择框

图中1、2、3 忽略选项解释:
1: Ignore specified file 忽略文件
2: Ignore all files under 忽略文件夹
3: Ignore all files matching 忽略匹配规则文件

这是我忽略的配置内容:
File: local.properties
Directory: .gradle/
Directory: .idea/
Directory: build/
Mask: *.iml

添加忽略文件,需要添加的忽略文件:
1、.idea 文件夹,此文件夹是用来保存开发工具的设置信息。
2、.gradle 文件夹,此文件夹是用来保存gradle的依赖信息。
3、所有的 build 文件夹,build文件夹是用来保存编译后的文件目录。
4、所有的 .iml 文件,是用来保存开发工具信息。
5、local.properties 文件,是用来保存项目依赖信息。

Android Studio 使用SVN 主干和分支合并代码_第2张图片
忽略提交文件
提价至SVN服务器

忽略完文件后,我们进行项目同SVN的关联,VCS->Import into Version Control->Share Project(Subversion) 见下图。

Android Studio 使用SVN 主干和分支合并代码_第3张图片
提价至SVN服务器

选择SVN服务器地址,如果之前没有使用过可以点击头部加号添加SVN地址。
Define share target选择共享目标,一般选择第二个就行。
1.8 format 选择1.8

Android Studio 使用SVN 主干和分支合并代码_第4张图片
关联SVN服务器地址
Android Studio 使用SVN 主干和分支合并代码_第5张图片
选择1.8format
Android Studio 使用SVN 主干和分支合并代码_第6张图片
提交至SVN服务器

上传成功后可以清楚看到忽略的文件颜色和没有忽略文件的颜色有差别,并且AS状态栏多了两个按钮,一个是更新按钮一个是提交按钮。见下图

Android Studio 使用SVN 主干和分支合并代码_第7张图片
关联成功后

在trunk主支下的MainActivity下写一行代码, String trunk = "这是trunk内容";,然后点击提交按钮上传到服务器上。

Android Studio 使用SVN 主干和分支合并代码_第8张图片
Commit
创建分支

将项目切换至Project目录,选中项目后点击右键,依次选择Subversion->Branch or Tag。可根据需要选择拷贝源、新分支目录、修改分支项目文件名等。如下图所示:

Android Studio 使用SVN 主干和分支合并代码_第9张图片
切换分支

创建分支成功后,我们从本地磁盘SVN项目下找到分支路径右击SVN Update一下,就可以看到分支项目了,如下图:

Android Studio 使用SVN 主干和分支合并代码_第10张图片
拉取分支项目

在主支下再写一行代码提交,注意每次提交代码前都先Update一下。

Android Studio 使用SVN 主干和分支合并代码_第11张图片
主支再一次提交代码

AS中切换分支,不管是主支切换分支 还是分支切换主支,操作都是一样的。
1.点击Update
2.勾上Update/Switch to specific url
3.点击Use banch的右边省略号选择 分支||主支 项目名字
4.点击URL右边省略号选择SVN 分支||主支 地址

Android Studio 使用SVN 主干和分支合并代码_第12张图片
切换分支

点击URL右边省略号选择SVN 分支||主支 地址,如果主支切分支就选择分支项目,如果是分支切主支就选择主支项目。

Android Studio 使用SVN 主干和分支合并代码_第13张图片
选择路径

切换分支后可以看到代码中只有一行代码了,这个是分支的代码。

Android Studio 使用SVN 主干和分支合并代码_第14张图片
合并分支

分支添加一行代码 String age = "18"; 提交SVN。

Android Studio 使用SVN 主干和分支合并代码_第15张图片
提交分支代码

然后再切换到主支下,然后右击项目--Subversion--Integrate Directory

Android Studio 使用SVN 主干和分支合并代码_第16张图片
Integrate Directory

由于这里面比较复杂我特意用12345标记起来再一一讲解。
1.告诉我们合并的规则是从Source2合并到Source1中,至于你是想 分支合并到主支 还是主支合并到分支只要规则对就行。
2.这里就是刚说的第一步中的Source1和Source2,右边的省略号就是选择SVN地址的。
3.Specified是来指定版本的,警告:合并时,Revision默认选中的都是HEAD(即:最新版),此时若点击OK,主干新创建的类会被删除,主干和分支同时修改的类会被分支覆盖,主干中的文件及其内容将变成和分支一模一样。显然大多时候这并不是我们想要的,我们需要保留主干的新增文件,同时合并分支的改动。这时主干(即:Source 1)的 Revision就不应该是最新版 HEAD,而是之前我们所说的 创建分支前最后一次提交修改时,该操作所对应的 Revision。
4.这就是上步说的选择版本号,创建分支前最后一次提交修改或者上一次合并代码时,该操作所对应的 Revision。
5.HEAD就是最新的版本。

Android Studio 使用SVN 主干和分支合并代码_第17张图片
选择合并版本
Android Studio 使用SVN 主干和分支合并代码_第18张图片
Android Studio 使用SVN 主干和分支合并代码_第19张图片
解决代码冲突

当分支和主支同时修改一个类时,合并时就会出现这种代码冲突,此时我们有三种选择。
1:以自己的版本为准。 2:以他的版本为准。3:点击合并代码

Android Studio 使用SVN 主干和分支合并代码_第20张图片
Merge合并代码
回退版本

在AS上点击更新按钮,选择Update Switch to specific revision版本号,然后点击ok回退。

Android Studio 使用SVN 主干和分支合并代码_第21张图片
Android Studio 使用SVN 主干和分支合并代码_第22张图片
选择回退版本号

谢谢大家的点评

你可能感兴趣的:(Android Studio 使用SVN 主干和分支合并代码)