Android Studio 配置SVN实现代码管理
Refference From:http://iaiai.iteye.com/blog/2267346
一、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相关配置信息的路径,保留默认路径就行,目前没有发现需要修改什么东西;以上操作如下图:
二、Android Studio项目关联SVN资源库及添加忽略文件
在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的)只能选择直接导入项目到服务器:
\
添加服务器仓库:导入项目到服务器一路next就可以啦!导入成功后本地项目就好和服务器关联起来:
稍微修改下布局看看是否关联测试下:
到Commit Changes 这里有几个选项需要了解的:
Auto-update after commit :自动升级后提交
keep files locked :把文件锁上,我想这应该就只能你修改其他开发人不能修改不了的功能
在你提交之前: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这个选项试一下其作用:
应该明白是创建一个补丁文件主要的作用就是可以查看修改的地方:
三、Android Studio SVN代码冲突的解决
关于代码冲突解决的问题,首先要感谢一下知友ShinChven的回答建议。在使用SVN更新服务器上的代码时,有时会弹出代码冲突的对话框,问
你是否进行合并,并提供了三种合并方案:accept yours(使用你的)、accept theirs(使用别人的)和merge(合并);
前两个都是进行的覆盖操作,就不多做解释了;当你选择merge合并时,会弹出代码合并对照窗口,一共有三个屏,左右两侧时你和服务器不同的代码
并高亮显示不同的部分,带有箭头和叉号,通过点击箭头将两边冲突的代码添加到中间的合并区域中去,点击叉号则辨识放弃那一段代码,待所有冲突处理完成后
merge就成功了。
当然在使用过程中肯定会遇到很多的问题上面的东西也是参考其他大神的,自己也添加了几点区别:到时候遇到问题再继续研究下。
继续完善:
Checkout SVN上的项目
选择subversion
导入项目到SVN服务器,
Import into 选择subversion
点击添加服务地址例如
浏览SVN服务器上的项目文件夹
SVN仓库会显示文件列表
其他说明
单文件 签入当文件,右键subversion Add
文件红色:表示文件没有添加到服务器
绿色:表示没有更新新的修改到服务器
普通黑色:表示和服务器同步
文件夹颜色说明
黄色感叹号(有冲突):
--这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不
允许你提交,防止你的提交覆盖了别人的修改。要解决冲突,如果你确认你的修改是无效的,则用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到服务器里面的
Android Studio 配置SVN实现代码管理的更多相关文章
- Android Studio配置SVN 以及使用代码管理
一.Android Studio配置SVN Android Studio关联配置SVN非常easy,在Settings里面.找到Version Control->Subversion.在这个页面 ...
- Android开发学习——Android Studio配置SVN
一.基本配置 1. 下载这个,然后双击 安装,按下图这样选 然后 傻瓜式安装 2. 进入Android studio设置:Use Command Line Client 选择浏览到第1步你本地安装 T ...
- 如何用Android Studio同时使用SVN和Git管理项目
这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...
- 【Android Studio安装部署系列】十九、Android studio使用SVN
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 在AndroidStudio中开发版本控制,除了Git就是SVN,和Eclipse不同,Android Studio没有提供单独的插 ...
- Android studio配置Git
Android studio配置Git 1.下载window 版git并安装:下载地址 2.Android Studio设置git插件:File->Setting->Version Con ...
- Android Studio配置Git及Git文件状态说明
Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...
- Android Studio集成SVN报错:can't use subversion command line client : svn
Android Studio集成SVN插件,check out出代码后,每次开启都会在右上角出现如下错误: Can't use Subversion command line client: svn ...
- Android studio 配置JNI环境
Android studio配置jni开发环境,主要配置是两个build文件,以及新建一个jni文件,放c代码. 代码如下1: apply plugin: 'com.android.model.app ...
- 使用Android Studio向GitHub提交代码
使用Android Studio向GitHub提交代码 在GitHub上创建一个仓库 填写仓库名称.描述.类型(公有.私有)等信息,点击创建 到此,成功创建了我们的仓库,并且初始化创建了README. ...
随机推荐
- SQL - 删掉数据库
ALTER DATABASE [DB_NAME]SET OFFLINEWITH ROLLBACK IMMEDIATEGODROP DATABASE [DB_NAME]GO
- Lucene 高亮功能
原文转载自: http://qindongliang1922.iteye.com/blog/1953409 高亮功能一直都是全文检索的一项非常优秀的模块,在一个标准的搜索引擎中,高亮的返回命中结果,几 ...
- http2.0 相对于 http1.1的优势
1.http2.0完全是多路复用的,只需一个连接就可实现并行 可以将不同的请求夹杂在一起,只需一个连接就能加载一个页面. 2.可以让服务器将响应主动推动到客户端缓存中 当浏览器请求一个网页时,服务器除 ...
- fcntl函数加文件锁
对文件加锁是原子性的,可以用于进程间文件操作的同步.在linux下,有三个函数可以对文件进程加锁,分别是fcntl.flock.lockf.这里只说fcntl,它的用法也是最复杂的. fcntl是fi ...
- HTTP协议具体解释
HTTP是一个属于应用层的面向对象的协议.因为其简捷.高速的方式.适用于分布式超媒体信息系统. 它于1990年提出,经过几年的使用与发展,得到不断地完好和扩展.眼下在WWW中使用的是HTTP/1.0的 ...
- 由mysql数据库基础上的php程序实现单词的查询、删除、更改和查询
我做了一个php程序,将表单数据添加到数据库,借用mysql扩展库函数实现对mysql数据库的操作,能够实现添加单词.删除单词.更新和查询单词.运行环境是普通的mysql数据库和php.Apache服 ...
- oracle 同样数据删除(仅仅留一条)
DELETE FROM reg_user t1 WHERE user_name='9527008' and rowid > ( SELECT min(rowid) FROM location t ...
- web工程调用hadoop集群1.2
本实例代码在lz的资源中有上传,有需要的可以参考(下载后的文件解压后有两个,一个直接导入myeclipse工程,另外的jar放在hadoop的lib下面,只需修改Utils中的ip即可运行该程序): ...
- HeadFirst设计模式 之 C++实现(二):Observer(观察者模式)
观察者模式是最经常使用的设计模式之中的一个,[对象之间多对一的依赖关系,当一个对象发生变化时,其会通知全部依赖它的对象].拿订阅报纸和发行报社打例如,报社採集到news制作新的报纸,派送给订阅的客户. ...
- 线程异常:undefined reference to 'pthread_create' 处理
源代码: #include <stdio.h> #include <pthread.h> #include <sched.h> void *producter_f ...