Android Studio关联配置SVN很是easy,在Settings里面。找到Version Control->Subversion。在这个页面的控制面板中的General中将Use command line client打勾勾选上,而后浏览本地的SVN安装文件夹,选到"\svn.exe"就能够;
在Use command line client如下另外一个Use system default Subversion configuration directory,这个默认是勾选上上的,这个是svn相关配置信息的路径,保留默认路径便可,眼下没有发现需要改动什么东西;以上操做例如如下图:
在Android Studio中新建立一个Android项目,成功后咱们先来加入要忽略的文件;在Android Studio中加入忽略文件同Eclipse有所不一样。在Eclipse上咱们何时加入忽略文件都可以。但是在Android Studio中仅仅有在未关联SVN以前加入忽略文件才有效(试了好屡次才将忽略文件忽略成功啊!)。Android Studio加入忽略文件相同是在Settings->Version Control(跟版本号控制有关的设置都在这个文件夹下)下的Ignored Files里,点击加号进行忽略文件的设置。Android Studio默认给出了三种忽略方式,供开发人员进行选择:忽略指定的文件、忽略目录下所有文件和忽略符合匹配规则的文件;如图所看到的:ide
点击右側的“+”进行加入。“-”删除。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】:第一个是直接将项目导入到SVNserver上,但是这样作本地的项目同SVNserver没有创建起关联,在导入后项目所有的文件都会变成红色,而且在要提交到SVNserver时会提示项目不是SVN下的工做副本。第二个是将Android Studio当前项目同SVNserver关联起来,但是并无将项目导入到SVNserver上,需要在完毕创建链接后再次提交项目到SVNserver。两种方式都可以实现将本地代码提交到SVNserver的功能,但是步骤有所不一样。先来完毕另一种方式的项目同SVN的关联及代码提交。第一种貌似不正规。以后再说;下图既是另一种方式将本地项目同SVN进行关联的:svn
以后会弹出选择要分享的SVN地址及其它选项,例如如下图:
在Define share target下选择第二个可以再trunk下建立你当前项目的目录,对应的第一个选项是直接将整个文件都放到trunk目录下,第三个在项目目录下有建立了一个trunk目录,所以建议使用第二中方式;选择完毕后点击Share就可以了,会弹出让你选择SVN工做副本的格式化版本号(jdk版本号)。例如如下图:
建议选择1.8format,我以前选择了其它的试了一下,发现项目总会报出一下错误,缘由临时未发现,就先这样选择吧;点击OK等待一会就能建立本地项目同SVNserver的关联了;成功懊悔本身主动刷新本地的项目。待项目里的内容变成绿色的即表示已经成功了,例如如下图所看到的:
到眼下为止仅仅是将项目同SVNserver创建了联系。并无将代码提交到SVNserver上去;怎样提交呢,事实上很是easy,仅仅需点击SVN相关操做button里的commit便可了(上图SVN相关操做button左起第二个button);
点击Commit后Android Studio会先对当前代码进代码分析,假设有错误或者警告会弹出例如如下的框。假设有错误冲突等需要解决后再提交,假设是警告可以忽略(同Eclipse一样)。第一次将整个代码提交到SVNserver时时间有可能很是长,请耐心等待,以后再建立项目时就不会这么慢了。
成功后咱们就完毕了新建项目同SVN的关联及导入项目到SVNserver上了。
关于第一种方式。在将本地代码导入到SVNserver后将本地代码删除,而后从SVNserver上将以前提交的代码更新下来,这样一来也可以同SVN创建关联正常进行开发;第一种方式和另一种方式的差异就在于:第一种是将代码先提交到SVNserver上,而后再从SVNserver上更新下来(本地项目同SVNserver创建联系)。另一种是先同SVNserver监理联系。而后将代码提交到SVNserver上去。建议使用另一种方式进行新项目的SVN关联。布局
在个人studio1.3版本号里面没有share project(subvision的)仅仅能选择直接导入项目到server:post
加入server仓库:导入项目到server一路next就可以啦!gradle
导入成功后本地项目就好和server关联起来:优化
略微改动下布局看看是否关联測试下:ui
到Commit Changes 这里有几个选项需要了解的:idea
Auto-update after commit :本身主动升级后提交spa
keep files locked :把文件锁上,我想这应该就仅仅能你改动其它开发人不能改动不了的功能.net
在你提交以前: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 button如下另外一个是create patch这个选项试一下其做用:
应该明确是建立一个补丁文件基本的做用就是可以查看改动的地方:
关于代码冲突解决的问题,首先要感谢一下知友 ShinChven的回答建议。在使用SVN更新server上的代码时,有时会弹出代码冲突的对话框,问你是否进行合并。并提供了三种合并方案:accept yours(使用你的)、accept theirs(使用别人的)和merge(合并);
前两个都是进行的覆盖操做,就很少作解释了。当你选择merge合并时,会弹出代码合并对比窗体,一共同拥有三个屏,左右两側时你和server不一样的代码并高亮显示不一样的部分,带有箭头和叉号。经过点击箭头将两边冲突的代码加入到中间的合并区域中去,点击叉号则辨识放弃那一段代码。待所有冲突处理完毕后merge就成功了。
选择subversion
Import into 选择subversion
SVN仓库会显示文件列表
单文件 签入当文件,右键subversion Add
文件红色:表示文件没有加入到server
绿色:表示没有更新新的改动到server
普通黑色:表示和server同步
參考 :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,加入到server
Commit:提交
Update:更新,获取新版本号
Integrate:合并
注意:SVN和VSS不一样签入前假设文件被其它人改动需要比較版本号怎样其它改动有效需要合并签入
整个项目更新提交:Commit ,Update
不知道是啥缘由假设刚刚開始选择share project(subvision)的话,好像在选择commit的时候很是慢,始终上传不了绿色的部分代码:
因此我直接在本地:commit到server里面的