通过这两天对Android Studio的研究,终于搞通了Android Studio的基本操作及与SVN的相关关联操作(这样才能在公司的开发工作中使用);Google年底将会停止ADT插件的更新和支持,全面转向Android Studio(果然是自己的孩子啊),因此使用Android Studio进行安卓项目的开发也是大势所趋,项目得闲之时研究一下Android Studio的使用;Android Studio的基本编辑操作现在网上已经很多了,需要的可以找着看看,下面是这几天摸索出来的Android Studio关联SVN的相关操作,时间较短,如果有疏漏或错误的地方还望指正。

一、Android Studio配置SVN

Android Studio关联配置SVN很简单,在Settings里面,找到Version Control->Subversion;在这个页面的控制面板中的General中将Use command line client打勾勾选上,然后浏览本地的SVN安装目录,选到"\svn.exe"即可;
在Use command line client下面还有一个Use system default Subversion configuration directory,这个默认是勾选上上的,这个是svn相关配置信息的路径,保留默认路径就行,目前没有发现需要修改什么东西;以上操作如下图:
<img src="https://pic4.zhimg.com/75ae00d25fb927985d3566f727e080c3_b.png" data-rawwidth="1038" data-rawheight="701" class="origin_image zh-lightbox-thumb" width="1038" data-original="https://pic4.zhimg.com/75ae00d25fb927985d3566f727e080c3_r.png">

二、Android Studio项目关联SVN资源库及添加忽略文件

在Android Studio中新创建一个Android项目,成功后我们先来添加要忽略的文件;在Android Studio中添加忽略文件同Eclipse有所不同,在Eclipse上我们什么时候添加忽略文件都可以,但是在Android Studio中只有在未关联SVN之前添加忽略文件才有效(试了好多次才将忽略文件忽略成功啊!)。Android Studio添加忽略文件同样是在Settings->Version Control(跟版本控制有关的设置都在这个目录下)下的Ignored Files里,点击加号进行忽略文件的设置,Android Studio默认给出了三种忽略方式,供开发者进行选择:忽略指定的文件、忽略文件夹下所有文件和忽略符合匹配规则的文件;如图所示:<img src="https://pic3.zhimg.com/3abf586a554dc9faedb1f3bac326fbae_b.png" data-rawwidth="1038" data-rawheight="701" class="origin_image zh-lightbox-thumb" width="1038" data-original="https://pic3.zhimg.com/3abf586a554dc9faedb1f3bac326fbae_r.png">

点击右侧的“+”进行添加,“-”删除;Android Studio创建的Android项目一般需要忽略.idea文件夹、.gradle文件夹、所有的build文件夹、所有的.iml文件及local.properties文件。
忽略完文件后,我们进行项目同SVN的关联,选择VCS->Import into Version Control->Share Project(Subversion);这里说明一点,在Import into Version Control下有Import into Subversion和Share Project(Subversion)两个选项:第一个是直接将项目导入到SVN服务器上,但是这样做本地的项目同SVN服务器没有建立起关联,在导入后项目所有的文件都会变成红色,而且在要提交到SVN服务器时会提示项目不是SVN下的工作副本;第二个是将Android Studio当前项目同SVN服务器关联起来,但是并没有将项目导入到SVN服务器上,需要在完成建立连接后再次提交项目到SVN服务器。两种方式都可以实现将本地代码提交到SVN服务器的功能,但是步骤有所不同,先来完成第二种方式的项目同SVN的关联及代码提交,第一种貌似不正规,之后再说;下图既是第二种方式将本地项目同SVN进行关联的:<img src="https://pic3.zhimg.com/d192e4e066db44c21cf0bbd4e5519e66_b.png" data-rawwidth="1071" data-rawheight="531" class="origin_image zh-lightbox-thumb" width="1071" data-original="https://pic3.zhimg.com/d192e4e066db44c21cf0bbd4e5519e66_r.png">

之后会弹出选择要分享的SVN地址及其他选项,如下图:<img src="https://pic4.zhimg.com/9d3318455907d64cb362be57239504eb_b.png" data-rawwidth="479" data-rawheight="670" class="origin_image zh-lightbox-thumb" width="479" data-original="https://pic4.zhimg.com/9d3318455907d64cb362be57239504eb_r.png">

在Define share target下选择第二个可以再trunk下创建你当前项目的文件夹,相应的第一个选项是直接将整个文件都放到trunk文件夹下,第三个在项目文件夹下有创建了一个trunk文件夹,因此建议使用第二中方式;选择完成后点击Share就可以了,会弹出让你选择SVN工作副本的格式化版本(jdk版本),如下图:<img src="https://pic1.zhimg.com/8d68fff6f283a0e6fe87c9b9ff4a48ac_b.png" data-rawwidth="812" data-rawheight="379" class="origin_image zh-lightbox-thumb" width="812" data-original="https://pic1.zhimg.com/8d68fff6f283a0e6fe87c9b9ff4a48ac_r.png">

建议选择1.8format,我之前选择了其他的试了一下,发现项目总会报出一下错误,原因暂时未发现,就先这样选择吧;点击OK等待一会就能创建本地项目同SVN服务器的关联了;成功后悔自动刷新本地的项目,待项目里的内容变成绿色的即表示已经成功了,如下图所示:<img src="https://pic3.zhimg.com/339bc1ad0ab4ebcdd6fe938dde3bb886_b.png" data-rawwidth="978" data-rawheight="480" class="origin_image zh-lightbox-thumb" width="978" data-original="https://pic3.zhimg.com/339bc1ad0ab4ebcdd6fe938dde3bb886_r.png">

到目前为止只是将项目同SVN服务器建立了联系,并没有将代码提交到SVN服务器上去;如何提交呢,其实很简单,只需点击SVN相关操作按钮里的commit就行了(上图SVN相关操作按钮左起第二个按钮);<img src="https://pic3.zhimg.com/d16f608e9c18c66f8636c9d97345da72_b.png" data-rawwidth="1173" data-rawheight="1046" class="origin_image zh-lightbox-thumb" width="1173" data-original="https://pic3.zhimg.com/d16f608e9c18c66f8636c9d97345da72_r.png">

点击Commit后Android Studio会先对当前代码进代码分析,如果有错误或者警告会弹出如下的框,如果有错误冲突等需要解决后再提交,如果是警告可以忽略(同Eclipse相同);第一次将整个代码提交到SVN服务器时时间有可能很长,请耐心等待,之后再创建项目时就不会这么慢了。<img src="https://pic3.zhimg.com/60d295e5623fcb407fc517916aa3eeea_b.png" data-rawwidth="316" data-rawheight="187" class="content_image" width="316">

成功后我们就完成了新建项目同SVN的关联及导入项目到SVN服务器上了。
关于第一种方式,在将本地代码导入到SVN服务器后将本地代码删除,然后从SVN服务器上将之前提交的代码更新下来,这样一来也可以同SVN建立关联正常进行开发;第一种方式和第二种方式的区别就在于:第一种是将代码先提交到SVN服务器上,然后再从SVN服务器上更新下来(本地项目同SVN服务器建立联系);第二种是先同SVN服务器监理联系,然后将代码提交到SVN服务器上去。建议使用第二种方式进行新项目的SVN关联。

三、Android Studio SVN代码冲突的解决

关于代码冲突解决的问题,首先要感谢一下知友ShinChven的回答建议。在使用SVN更新服务器上的代码时,有时会弹出代码冲突的对话框,问你是否进行合并,并提供了三种合并方案:accept yours(使用你的)、accept theirs(使用别人的)和merge(合并);
<img src="https://pic2.zhimg.com/bcfe7bf54eb872e71b94c35bcfbe405d_b.png" data-rawwidth="610" data-rawheight="537" class="origin_image zh-lightbox-thumb" width="610" data-original="https://pic2.zhimg.com/bcfe7bf54eb872e71b94c35bcfbe405d_r.png">

前两个都是进行的覆盖操作,就不多做解释了;当你选择merge合并时,会弹出代码合并对照窗口,一共有三个屏,左右两侧时你和服务器不同的代码并高亮显示不同的部分,带有箭头和叉号,通过点击箭头将两边冲突的代码添加到中间的合并区域中去,点击叉号则辨识放弃那一段代码,待所有冲突处理完成后merge就成功了。<img src="https://pic2.zhimg.com/35c1911d7ec78302853050d7c7a02f45_b.png" data-rawwidth="640" data-rawheight="503" class="origin_image zh-lightbox-thumb" width="640" data-original="https://pic2.zhimg.com/35c1911d7ec78302853050d7c7a02f45_r.png">

发布于 2015-07-22 39 条评论 感谢

分享

收藏 • 没有帮助 •

举报

作者保留权利 收起

知乎用户,使用:Xperia/Android/OSX/iOS/Ubuntu/Ce…
袁锋、知乎用户 赞同

从服务器检出1、checkout from subversion2、项目检出以后open build.gradle 打开工程3、工程打开以后在顶部VCS 里面enable version control 选subversion提交到服务器VCS - import into subversion 下班之前 写的 赶着回家,晚上再补 显示全部
从服务器检出
1、checkout from subversion
<img src="https://pic3.zhimg.com/48b00247d9b7ac321b805f2eb958359a_b.png" data-rawwidth="324" data-rawheight="407" class="content_image" width="324">
2、项目检出以后open build.gradle 打开工程
3、工程打开以后在顶部VCS 里面enable version control 选subversion

提交到服务器
VCS - import into subversion

下班之前 写的 赶着回家,晚上再补

作者:夏海亮
链接:http://www.zhihu.com/question/32298079/answer/56010423
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Android studio如何使用SVN进行版本控制?相关推荐

  1. android studio mac svn插件,mac下Android studio如何使用SVN进行版本控制?

    很久没使用svn了,大家都用git,但没办法,项目需要.网上mac环境下的Android  studio配置svn的教程貌似都不是很详细,在此自己记录也为方便他人. 网上说mac自带svn客户端.没去 ...

  2. android svn 安装教程,Android Studio 搭配 Tortoise SVN 安装问题汇总

    (1)Android studio 中想要使用SVN,但是在安装 1.9版本的SVN,会报SVN is too old(实际是太新了)的错误.所以只能下载1.8以下版本 (2)安装svn时,需要手动选 ...

  3. Android studio中提交svn一直卡在performing VCS commit

    近几日,我一直被这个问题所困扰,百度.google了无数遍,唯一找到的结果就是重装系统.即近放弃时,又冷静下来,分析原因,忽然发现一个细节,share project时会提示选择format版本,会不 ...

  4. Android Studio 项目断开SVN连接

    Android Studio 断开 SVN 1.打开项目所在的文件夹,找到.idea文件夹 2.打开.idea文件夹,找到vcs.xml文件并打开 3.把vcs对应的值删掉,vcs="&qu ...

  5. Android studio:更换SVN地址及错误svn: The repository at ‘svn://xxxxx‘ has uuid ‘XXXX‘, but the WC has ‘XXXX‘

    项目更换服务器后需要修改下svn地址.. 方法一 打开android studio-VCS-->Subversion-->Relocate弹出如下图所示窗口,更改前面的IP地址就行了. 方 ...

  6. android studio mac版升级,记录在Mac电脑上升级Android Studio版本后SVN碰到的坑

    最近升级了Android studio 开发工具的版本,之前有个项目隔了一段时间没维护也没新需求和Bug修改,今天领导说要看看这个项目,于是就通过AS工具导入运行,然后就会一堆编译错误,然后就一连连的 ...

  7. android studio 一直在 svn performing vcs refresh

    http://blog.csdn.net/u010878994/article/details/51388208 1.进入Setting-->Subversion-->按下 Clear A ...

  8. Android Studio:使用SVN进行版本控制

    首先要先把svn配置好,可以参考:http://blog.csdn.net/u011429167/article/details/50392179 一:Android Studio配置SVN 在Set ...

  9. android studio 使用svn版本控制完全解析

    作者:夏海亮 链接:https://www.zhihu.com/question/32298079/answer/56010423 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 通过这两天对 ...

最新文章

  1. C#中文件和byte[]互换问题
  2. linux 权限 mask,Linux mask有效权限详解
  3. 【CAD制图视频】AutoCAD 2014 高手之道
  4. C++11 std::bind 和 std::placeholder
  5. SVN钩子HOOK设置自动备份,服务本地可以看到所有更新内容。
  6. 90后一代人还能通过攒钱改变现状吗?
  7. 协议转换器是怎么分类的?主要有哪些类别?
  8. 数字逻辑:多级门电路
  9. Excel如何随机抽取姓名或其他数据
  10. 快速求最小公倍数的四种方法
  11. html视频自动全屏代码,HTML5轻松实现全屏视频背景的示例
  12. 红外传感器型号和参数_红外传感器原理、分类、性能参数、应用及前景
  13. oracle下的inventory文件夹,Oracle软件安装目录信息Inventory作用以及如何重建此目录 - 2...
  14. 操作系统简介及编程语言
  15. 无需公网IP,免费内网穿透【cpolar】访问内网服务
  16. 四色问题:证明、推广和应用
  17. 姿态角(Euler角):yaw pitch roll
  18. 【离散数学】集合与关系
  19. 记录:我的秋招求职之路 —— 杭州(Java开发)
  20. RLC串并联谐振回路特性、如何判断容性感性

热门文章

  1. 一些有关计组实验中Quartus中的名词或术语的解释
  2. Word中你不得不学习的几个小技巧,让你不仅玩的溜,效率也贼高!
  3. Flink如何取代JStorm,成为字节跳动流处理唯一标准?
  4. 阿里云发布ECS磁盘加密,一键加密,业务0改动
  5. 分布式监控报警平台Centreon之:Centreon依赖安装
  6. nginx+php-fpm动静分离
  7. C#导出EXCEL的几种方法
  8. iOS开发-动画总结
  9. 统计分析SQL Server Profiler 跟踪的SQL
  10. Linux 常用命令使用方法