一、背景

使用SVN进行版本管理时,一般的,我们的所有的开发都是基于trunk进行开发,当一个版本开发告一段落,经验证测试发布上线后,代码处于冻结状态,基于当前冻结的代码库,打一个tag进行管理,与发布的生产环境进行对应。

当新的功能点的开发任务开始,继续在trunk进行开发,此时,如果发现了生产环境问题,急迫需要修复,这时候就需要在对应当前生产的代码分支上修改。做法是:基于当前生产对应的tag,做相应的分支(branch)进行开发。

当新的功能开发完毕后,在发布之前,需要将之前分支上的修改合并到主干上,本文将详细描述使用Android Studio 对SVN的分支进行合并的过程。

二、步骤

1. 将项目切换到主干上,并把代码更新到最新,保证本地与SVN主干,完全一致。然后在上方菜单中,依次选择VCS --> Integrate Project...如图所示。也可以在项目上点右键,在弹出的菜单中选择Subversion -> Integrate Directory....

2. 在Source 1中选择主干的SVN地址,并选择当时分支分支时的版本号,本例是4909;在Source2中选择分支的地址,并在版本号处选择HEAD,表示把分支最新代码合并。然后在Try merge, but make no changes选项中打勾,在Depth中选择working copy。这样的配置是将分支最新代码与主干分出分支时的代码进行尝试比较。最后点“OK”,开始尝试合并,在下方会显示合并的结果.

3. 当确认尝试合并无问题后,再次重复上述合并步骤的界面,但在Try merge, but make no changes选项中取消打勾,然后点击“OK”,开始合并。

4. 当合并代码过程中出现文件冲突时,会弹出一个冲突列表。此时需要对冲突的文件进行一个个合并。选择一个冲突的文件,单击“Merge...”,在弹出的合并窗口中,会展示三个文件,左边是本地代码,中间是合并后的代码,右边是分支上的代码。IDEA已经将冲突的代码块标志出来,你只需要将左边和右边的代码往中间合并,然后查看中间的代码是否正确,若不正确,直接修改正确,最后点击下方的“Apply”,完成该文件的合并。

5. 合并动作完成后,在下方工具窗口“Version Control”--> Local Changes 标签页看到合并后的本地代码变更,可以选择其中的某个文件,然后按快捷键Ctrl+D或点左侧工具图标,查看文件的改动情况,在弹出的窗口左侧为合并之前的代码,右侧是合并之后的代码。

6.在确认修改的文件无误后,在“Version Control”--> Local Changes 标签页,在文件根文件夹“Default"上,单击右键,在弹出的菜单中,选择"Commit Changes"提交代码,在弹出的确认窗口中,会再次显示所有要提交的文件,会在文件复选项上打勾,在下方的Commit Message中填写上本次提交内容的描述信息。最后点击”Commit“,提交代码到SVN.

Android Studio 合并分支代码到主干的操作总结的更多相关文章

  1. svn 合并分支代码到主干

    1. eclipse 安装subclipse 2. 将主干trunk导入到eclipse中 3. 右键选择team-->合并,注意,去掉红色圈内的选项 4. next 选中select查找svn ...

  2. Android Studio Git 分支使用实践

    新公司有些项目是用的 Git,以前公司都是 svn,为了练手 Git,我个人 APP 用到了,但是仅简单的 git pull/push 的使用,并未用到 Git 精髓,只有当项目中用到,才会紧迫去全面 ...

  3. Android Studio Git 分支实践

    新公司有些项目是用的 Git,以前公司都是 svn,为了练手 Git,我个人 APP 用到了,但是仅简单的 git pull/push 的使用,并未用到 Git 精髓,只有当项目中用到,才会紧迫去全面 ...

  4. Android Studio环境下代码混淆+签名打包

    Android Studio环境下代码混淆+签名打包 作者 Mr_冯先生 关注 2016.08.21 01:10 字数 1040 阅读 734评论 5喜欢 34 注:本文使用的Android Stud ...

  5. Android Studio快捷键之代码提示

    相信很多人在用Eclipse的时候,很习惯的都会把Content Assist设置成.abcd...z,这样每次敲代码的时候都会有自动提示,写起代码来很方便.具体设置如图: 同时,Eclipse中也有 ...

  6. git 命令合并分支代码

    git 命令合并分支代码 对于复杂的系统,我们可能要开好几个分支来开发,那么怎样使用git合并分支呢? 合并步骤: 1.进入要合并的分支(如开发分支合并到master,则进入master目录) git ...

  7. Android Studio如何Format代码

    Android Studio如何Format代码 Reformat code Shift + CTRL + ALT + L (Win) OPTION + CMD + L (Mac)

  8. Android Studio(十一):代码混淆及打包apk

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  9. 使用TortoiseGit对android studio工程进行代码版本控制

    阅读下列文章时请保证你是否有以下工具: 1.Android Studio 2.TortoiseGit 和 msysGit 安卓工程版本控制哪些文件可以忽略 可以省略的文件如下: 目录 .gradle  ...

随机推荐

  1. vue中提示$index is not defined

    今天学习Vue中遇到了一个报错信息:$index is not defined,是我写了个for循环在HTML中,然后是因为版本的问题 下面是解决方法: 原来的是 v-for="person ...

  2. hibernate中怎样配置两个联合属性为唯一约束(非联合主键)

    Annotation中配置: @Table元素包括了一个schema和一个catalog属性,如果需要可以指定相应的值. 结合使用@UniqueConstraint注解可以定义表的唯一约束(uniqu ...

  3. Java基础类

    Java8提供了四千多个基础类,通过这些基础类库可以提高开发效率,使用它们编写好的类进行开发,不用自己去写好这个类,这个方法是干什么的,极大程度的降低了开发难度,为Java开发 带来了极大的便利.本文 ...

  4. python 调用shell hive sql

    def generate_csv_source(data_file): #判断文件是否存在 if not os.path.exists(data_file): # 拉取hive表数据 cmd_sql ...

  5. Java集合类的底层实现探索

    List: ArrayList 首先我们来看看jdk的ArrayList的add方法的源码是如何实现的: public boolean add(E e) { ensureCapacityInterna ...

  6. inet_pton, inet_ntop

    Linux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6.算是比较新的函数了. inet_ ...

  7. vue学习_01

    一.什么是VUE 渐进式的前端框架,MVVM(Model,view,viewmodel)模式,饿了么用的就是vue框架 二.VUE基本语法 1.引入vue: <script src=" ...

  8. String类笔记

    首先要知道,String类的核心是一个数组 我们所写的字符串序列都会放到这个char数组中,且前面有final修饰,所以只能赋值一次. 所以String创建的是不可变字符串序列,不可修改.如果要对其进 ...

  9. WPF中的数据绑定

    WPF中的数据绑定 基础概念 System.Windows.Data.Binding,他会把两个对象(UI对象与UI对象之间,UI对象与.NET数据对象之间)按照指定的方式粘合在一起,并在他们之间建立 ...

  10. MySQL/Oracle索引的创建与使用

    MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 索引分单列索引和组合索引. 单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引 ...