Android studio如何使用SVN进行版本控制?

使用Android studio须要本身独立安装带有 command line 功能的 SVN 客户端,我使用的是TortoiseSVN,听说 1.7 以后开始支持 command line 模式,我如今用的是 1.8.5 版本服务器

如图,安装时必须自定义选择 command line 不然不会安装的ide



安装完成后,按照下面步骤svn


1、Android Studio配置SVN
gradle

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相关配置信息的路径,保留默认路径就行,目前没有发现须要修改什么东西;以上操做以下图:


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

在Android Studio中新建立一个Android项目,成功后咱们先来添加要忽略的文件;在Android Studio中添加忽略文件同Eclipse有所不一样,在Eclipse上咱们何时添加忽略文件均可以,可是在Android Studio中只有在未关联SVN以前添加忽略文件才有效(试了好屡次才将忽略文件忽略成功啊!)。Android Studio添加忽略文件一样是在Settings->Version Control(跟版本控制有关的设置都在这个目录下)下的Ignored Files里,点击加号进行忽略文件的设置,Android Studio默认给出了三种忽略方式,供开发者进行选择:忽略指定的文件、忽略文件夹下全部文件和忽略符合匹配规则的文件;如图所示:
点击右侧的“+”进行添加,“-”删除;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进行关联的:
以后会弹出选择要分享的SVN地址及其余选项,以下图:mp;amp;gt;
在Define share target下选择第二个能够再trunk下建立你当前项目的文件夹,相应的第一个选项是直接将整个文件都放到trunk文件夹下,第三个在项目文件夹下有建立了一个trunk文件夹,所以建议使用第二中方式;选择完成后点击Share就能够了,会弹出让你选择SVN工做副本的格式化版本(jdk版本),以下图:
建议选择1.8format,我以前选择了其余的试了一下,发现项目总会报出一下错误,缘由暂时未发现,就先这样选择吧;点击OK等待一会就能建立本地项目同SVN服务器的关联了;成功后悔自动刷新本地的项目,待项目里的内容变成绿色的即表示已经成功了,以下图所示:
到目前为止只是将项目同SVN服务器创建了联系,并无将代码提交到SVN服务器上去;如何提交呢,其实很简单,只需点击SVN相关操做按钮里的commit就好了(上图SVN相关操做按钮左起第二个按钮);
点击Commit后Android Studio会先对当前代码进代码分析,若是有错误或者警告会弹出以下的框,若是有错误冲突等须要解决后再提交,若是是警告能够忽略(同Eclipse相同);第一次将整个代码提交到SVN服务器时时间有可能很长,请耐心等待,以后再建立项目时就不会这么慢了。
成功后咱们就完成了新建项目同SVN的关联及导入项目到SVN服务器上了。
关于第一种方式,在将本地代码导入到SVN服务器后将本地代码删除,而后从SVN服务器上将以前提交的代码更新下来,这样一来也能够同SVN创建关联正常进行开发;第一种方式和第二种方式的区别就在于:第一种是将代码先提交到SVN服务器上,而后再从SVN服务器上更新下来(本地项目同SVN服务器创建联系);第二种是先同SVN服务器监理联系,而后将代码提交到SVN服务器上去。建议使用第二种方式进行新项目的SVN关联。


3、Android Studio SVN代码冲突的解决
idea

关于代码冲突解决的问题,首先要感谢一下知友 ShinChven的回答建议。在使用SVN更新服务器上的代码时,有时会弹出代码冲突的对话框,问你是否进行合并,并提供了三种合并方案:accept yours(使用你的)、accept theirs(使用别人的)和merge(合并);

前两个都是进行的覆盖操做,就很少作解释了;当你选择merge合并时,会弹出代码合并对照窗口,一共有三个屏,左右两侧时你和服务器不一样的代码并高亮显示不一样的部分,带有箭头和叉号,经过点击箭头将两边冲突的代码添加到中间的合并区域中去,点击叉号则辨识放弃那一段代码,待全部冲突处理完成后merge就成功了。


从服务器检出一、checkout from subversion二、项目检出之后open build.gradle 打开工程三、工程打开之后在顶部VCS 里面enable version control 选subversion提交到服务器VCS - import into subversion 下班以前 写的 赶着回家,晚上再补显示所有spa

从服务器检出
一、checkout from subversion

二、项目检出之后open build.gradle 打开工程
三、工程打开之后在顶部VCS 里面enable version control 选subversion

提交到服务器
VCS - import into subversion版本控制

红色表明未添加到svn里的文件,右键选择subversion-add to svn,等他变绿
绿色表明文件修改了还没上传,能够直接所有上传,也能够右键subversion-commit file
蓝色表明两我的都修改了,须要先下载融合再上传,也能够改以前先锁上,subversion-lock,修改完毕点commit直接能够解锁,也能够unlock解锁orm

相关文章
相关标签/搜索