Android Studio 中SVN使用

关联本地project到server
前提:svn服务器仓库已创建,得到仓库URL。

配置IDE的忽略配置(初始关联和提交时IDE忽略配置,不是远程仓库的忽略配置)

Paste_Image.png

PS:提前配置(所有的build.idea.gradle目录都需要忽略)

关联project到svn服务器(创建Project目录)
点击share project

Paste_Image.png

配置服务器地址
这里我的仓库已经创建了branchs,tags,truck三个目录。所以这里之间关联到truck目录下的SVNTest目录。填写提交日志(创建project目录),点击share开始关联


Paste_Image.png

选择SVN版本,我这里是1.8.点击OK。


Paste_Image.png

Paste_Image.png

开始关联:

Paste_Image.png

关联完成

此时服务器生成SVNTest空目录


Paste_Image.png

本地Project视图状态:绿色为新增,黄色为忽略。


Paste_Image.png

配置服务器仓库的忽略属性
在Project视图选中SVNTest目录右键


Paste_Image.png

配置服务器的忽略属性:
*.iml
.gradle
.idea
build
local.properties
.DS_Store
captures
记得打上update projecties recursively选项,递归配置子目录文件。


Paste_Image.png

小技巧:新建或者导入module时重复此操作可以将生成的build目录自动加入忽略管理

(如果不配置这个步骤,其他人从服务器checkout下来代码以后,编译生成的这些无关文件,可以选择不添加到版本控制也可以。不加入版本控制,显示红色)
提交本地Project到服务器

这里由于是第一次提交所以全是新增文件。

提交两种方式,一种是在菜单栏的。
Paste_Image.png

另外一种:
Paste_Image.png

加载中:


Paste_Image.png

提交对话框:(红框选中的如果选中,点击完commit会发现没反应,需要你检查代码,初始提交可以去掉)


Paste_Image.png

提交完成会在底部VersionControl视图弹出通知


Paste_Image.png

PS:VersionControl视图可以查看文件状态,提交,

重新关联
如果由于某种原因想重新关联,可以将project目录下的.svn目录删除,然后在Setting—Version Control里将project的版本控制设置删除。然后重新执行关联操作。


Paste_Image.png

从服务器Checkout代码到本地
Checkout入口


Paste_Image.png

或者在Studio界面里


Paste_Image.png

配置服务器地址与用户密码
会询问是否信任该地址,确定后,弹出用户名帐号,密码界面:


Paste_Image.png

选择Checkout路径,输入正确后,双击地址加载出有权限访问的目录,选中对应的project,点击checout,会询问checout到那个路径下,选择即可。


Paste_Image.png

Paste_Image.png

Checkout选项,接着会询问你准备checout到所选路径的那个目录里,方便起见,选择第二个即可。
checkout的版本默认为最新版本,也可以选择特定版本。depth为检出深度,选择其他默认infinity全目录检出即可。
Paste_Image.png

接下来同样选择svn版本。(建议团队使用相同版本)


Paste_Image.png

checout完成:
Paste_Image.png

打开Project
由于提交的时候忽略的.gradle目录和.idea目录(因为每个人的配置可能不一样),所以需要你配置gradle信息。根据个人情况配置即可。
点击OK,开始构建项目。


Paste_Image.png

构建完成以后,编译运行一下。可以看到编译生成的文件已经变成黄色,自动被忽略。因为此时服务器的忽略配置也更新了下来。


Paste_Image.png

文件状态
绿色:新增
红色:未加入版本控制
蓝色:被修改
白色:未改变

常规操作
提交

点击
Paste_Image.png
提交本地变动。提交的操作与上面初始提交一样。
错误:如果本地version低于服务器,直接提交则会报错。此时需要先更新,再提交。
Paste_Image.png

更新

点击标题栏
Paste_Image.png

更新整个project,或者某个目录右键subversion—update directory更新目录。


Paste_Image.png

默认都不勾选则更新到最新版本,点击OK更新。
如果更新时本地代码与服务器有冲突则会弹出:

Paste_Image.png

合并
点击Merge会有合并窗口,不同的改变会有不同的颜色。


Paste_Image.png

合并以后保存,标记merge完成。本地version已经是最新。可以提交了。
如果提示merge的窗口关闭了,可以通过右键菜单再次发起处理冲突操作和标记已处理。


Paste_Image.png

对比
在某个文件中右键可以:
查看文件version,与服务器相同version(改动前)进行对比,与服务器最新版本对比,与某个特定版本对比,与某个分支对比。


Paste_Image.png

比如与服务器最新版本对比,差异会高亮显示,操作方式:

X号/箭头
Paste_Image.png
:服务器替换本地

按下ctrl变成斜箭头


Paste_Image.png

:代表服务器差异代码插入到本地代码中
Paste_Image.png

注意事项:
勤更新,尽量保证本地version代码是最新版本。
提交前一定要找相关的人Review!一定要Review!一定要Review!

其他
1.修改服务器地址


Paste_Image.png

2.清除帐号信息,重新登录


Paste_Image.png

3.更多功能,静候大家去摸索。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • @(〓〓 iOS-实用技术)[代码管理 Git/SVN] 作者: Liwx 邮箱: 1032282633@qq....
    Liwx阅读 46,428评论 5 84
  • 别了,风花雪月。 其实这种离别应该在一年前就已经在嘴边徘徊,可惜总是因为留恋或者倦怠而迟迟没有向世界发出宣言。现在...
    竹下草阅读 443评论 1 2
  • 我有一个堂姐,只比我大一岁,从她22岁的时候我姑就在催,什么时候谈恋爱啊,怎么还没有男朋友啊,有时候我妈看不过去,...
    小一一93阅读 209评论 0 1
  • 在我们家,我爸就是一家之主。他不管大事小事都要过问,因此我与他的争执也是最多的。 记得小时候发生了一件事情,现在还...
    风之壹把刀阅读 402评论 0 1