1、 Android Studio配置SVN android
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资源库及添加忽略文件 git
在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)两个选项【在studio 1.3已经没有第二个选项了只有Share Project on GitHup】:第一个是直接将项目导入到SVN服务器上,可是这样作本地的项目同SVN服务器没有创建起关联,在导入后项目全部的文件都会变成红色,而 且在要提交到SVN服务器时会提示项目不是SVN下的工做副本;第二个是将Android Studio当前项目同SVN服务器关联起来,可是并无将项目导入到SVN服务器上,须要在完成创建链接后再次提交项目到SVN服务器。两种方式均可以 实现将本地代码提交到SVN服务器的功能,可是步骤有所不一样,先来完成第二种方式的项目同SVN的关联及代码提交,第一种貌似不正规,以后再说;下图既是 第二种方式将本地项目同SVN进行关联的:![]()
以后会弹出选择要分享的SVN地址及其余选项,以下图:![]()
在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关联。服务器
在个人studio1.3版本里面没有share project(subvision的)只能选择直接导入项目到服务器:app
添加服务器仓库:导入项目到服务器一路next就能够啦!导入成功后本地项目就好和服务器关联起来:ide
稍微修改下布局看看是否关联测试下:svn
到Commit Changes 这里有几个选项须要了解的:布局
Auto-update after commit :自动升级后提交测试
keep files locked :把文件锁上,我想这应该就只能你修改其余开发人不能修改不了的功能gradle
在你提交以前:before commit优化
Reformat code:从新格式化代码
Rearrange code:从新整理代码
Optimize imports:优化导入
Perform code analysis:执行代码分析[ 默认选择]
Check TODO(show all):检测须要修改的代码[显示全部默认选择]
clean up: 清除全部
Update copyright:更新版权
具体看状况选择功能点:好比不想其余人修改这些代码能够选择keep files locked
在Commit Message 添加修改信息
修改为功:
在commit 按钮下面还有一个是create patch这个选项试一下其做用:
应该明白是建立一个补丁文件主要的做用就是能够查看修改的地方:
3、Android Studio SVN代码冲突的解决
关于代码冲突解决的问题,首先要感谢一下知友ShinChven的回答建议。在使用SVN更新服务器上的代码时,有时会弹出代码冲突的对话框,问你是否进 行合并,并提供了三种合并方案:accept yours(使用你的)、accept theirs(使用别人的)和merge(合并);
![]()
前两个都是进行的覆盖操做,就很少作解释了;当你选择merge合并时,会弹出代码合并对照窗口,一共有三个屏,左右两侧时你和服务器不一样的代码并高亮显 示不一样的部分,带有箭头和叉号,经过点击箭头将两边冲突的代码添加到中间的合并区域中去,点击叉号则辨识放弃那一段代码,待全部冲突处理完成后merge 就成功了。
固然在使用过程当中确定会遇到不少的问题上面的东西也是参考其余大神的,本身也添加了几点区别:到时候遇到问题再继续研究下。
继续完善:
选择subversion
Import into 选择subversion
点击 添加服务地址例如
SVN仓库会显示文件列表
单文件 签入当文件,右键subversion Add
文件红色:表示文件没有添加到服务器
绿色:表示没有更新新的修改到服务器
普通黑色:表示和服务器同步
参考 :http://blog.csdn.net/niu_hao/article/details/6774471
黄色感叹号(有冲突): --这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交以前先提交了,这时你再提交就会被提示发生冲突,而不 容许你提交,防止你的提交覆盖了别人的修改。要解决冲突,若是你确认你的修改是无效的,则用TSVN还原你的修改就好了;若是认为你的修改是正确的,别人 的提交是无效的,那么用TSVN先标记为“解决冲突”,而后就能够提交了;若是你认为你的修改和别人的修改都有一部分是有效的,那么你就把别人的修改手动 合并到你的修改中,而后使用TSVN标注为“解决冲突”,而后就能够提交了。进入文件夹,寻找有黄色感叹号的文件,这些文件就是发生冲突的地方,根据实际 状况处理冲突 米字号(有本地修改代码): --这是说明你有未提交的本地代码。 问好(新加入的资源): --这说明该文件是项目中新增文件资源,新增资源能够是文件、图片、代码等。
红色感叹号(本地代码与库没有保持一致): --这说明本地代码跟库上没有保持一致,若是用户想修复,能够将带红色感叹号图标文件删除,直接update便可。 灰色向右箭头(本地修改过) --本地代码没有及时上库。 蓝色向左箭头(SVN上修改过) --记得更新代码后修改,提交前跟svn对比习惯。 灰色向右且中间有个加号的箭头(本地比SVN上多出的文件) --修改完记得跟svn保持一致 蓝色向左且中间有个加号的箭头(SVN上比本地多出的文件) --删除该文件后,再次更新,将svn上文件所有更新下来。 灰色向右且中间有个减号的箭头(本地删除了,而SVN上未删除的文件) --也就是说你删除确认后,必定要记得上库,跟svn保持一致 蓝色向左且中间有个减号的箭头(SVN上删除了,而本地未删除的文件) --比对svn库上代码,肯定须要删除后,更新svn(删除无用代码)。 红色双向箭头(SVN上修改过,本地也修改过的文件 ) --这个表示本地和svn上都修改过,最好就是把本地修改合并到svn,修改代码前最后先更新。
文件状态说明:
单个文件签入签出操做:右键subversion
Add,添加到服务器
Commit:提交
Update:更新,获取新版本
Integrate:合并
注意:SVN和VSS不一样签入前若是文件被其余人修改须要比较版本如何其余修改有效须要合并签入
整个项目更新提交:Commit ,Update
不知道是啥缘由若是刚刚开始选择share project(subvision)的话,好像在选择commit的时候很慢,始终上传不了绿色的部分代码:
因此我直接在本地:commit到服务器里面的
其它一:找不到Share Project(Subversion)_android studio
在Project模式下有个.idea文件夹,找到vcs.xml文件,把里面的vcs="svn"改成vcs=""便可。
<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="VcsDirectoryMappings"> <mapping directory="" vcs="" /> </component> </project>
再回来看就会发现Share Project选项出来了,这时候咱们又能够从新提交SVN了。
其它二:Android Studio SVN配置忽略文件
1.用Android Studio建立一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关系。
2.打开Setting-Version Control-Ignored Files,添加忽略文件,我所知道的忽略文件以下:
一、.idea文件夹
二、.gradle文件夹
三、全部的build文件夹
四、全部的.iml文件
五、local.properties文件。
3.注意一点,配置忽略文件必须在Share到SVN以前进行,若是在Commit后配置,貌似就不起做用了。
4.当分享者配置了忽略文件并Share Project到SVN后,其余人Check下来就不须要配置了,Commit的时候会自动忽略那些文件。但文件名显示为红色,这时配置下忽略文件就恢复正常了。
Check下来的Project:
配置忽略文件后: