安装SVN


  1. svn下载https://tortoisesvn.net/downloads.html
  2. svn安装: 需注意,需安装 command line功能。
  3. svn注意点
    3.1. 需要重启电脑,右键才会出现svn的各种菜单。
    3.2. 若是直接打开TotoseSVN客户端,会出现以下提示:
tortoisesvn is a shell extension
 that means it is integrated into the windows explorer.
 to use tortoisesvn please open the explorer and right-click on 
 any folder you like to bring up the context menu where you will find all tortoisesvn commands.

因此,svn不直接以客户端运行,需对文件进行操作。


AndroidStudio 上SVN的使用


1. AndroidStudio配置 svn:

步骤:打开Android Studio–>File–>Setting–>Version Control–>Subversion

android svn的安装与使用 svn 安卓_svn

配置svn路径:在上图中的Use Command Line Client中添加svn.exe, svn默认路径C:\Program Files\TortoiseSVN\bin\svn.exe

若是不存在svn.exe,则安装TotoseSVN未安装command line功能,需重新安装。

2. Android Studio添加忽略文件以及上传项目到svn:

  • 上传项目到svn前需添加忽略文件
    步骤:打开Android Studio–>File–>Setting–>Version Control–>Ignored Files –添加忽略的文件
    androidStudio提供了三种选择忽略规则:
Ignore specified file:忽略指定文件
 Ignore all files under:忽略文件夹下所有文件
 Ignore all files mathching: 忽略符合匹配规则的文件。

SVN中文件忽略规则: .ide文件 、 .gradle文件 、 所有的build文件(包含module中build) 、 所有的.iml文件 、local.properties 文件。

依次添加完忽略文件,如下图所示:

android svn的安装与使用 svn 安卓_Gradle_02

除此之外,还有一种通过.ignore插件方式添加忽略文件。
步骤:File→Settings→Plugins→Browse repositories-> 搜索.ignore–>安装后,重启AS–>手写忽略文件规则。
最终项目(Project)中出现.gitignore文件如下图所示:

android svn的安装与使用 svn 安卓_svn_03

  • android studio上传项目到svn进行关联
    步骤: VCS->Import into Version Control->Import into Subversion(这里androidStudio 2.1.1 没有Share Project(Subversion))–>Import into Subversion弹窗中,点击+ –>创建一个新的仓库,填写svn服务器路径,选择上传的项目(Project而不是单个Moudle),一路next。

Import into Subversion过程说明:

先将本地代码导入SVN服务器上。但是SVN没有关联到本地的代码。因此,需要将svn服务器上的代码更新下来,即下面AndroidStudio从步骤中从svn中check out项目的步骤。这样才能完成本地项目和SVN服务器建立关联,才能正常开发。

3. AndroidStudio从SVN服务器上Check out 项目:

  • 第一种方式:file–>project from verson controll–>subvsersion –>从Repostory(仓库中)选择要check out的项目的路径或者新增要check out的项目路径–>check out–>Destionation Directory弹窗中,选择项目存放路径–>OK,接下来Android Studio会自动加载项目。

android svn的安装与使用 svn 安卓_android svn的安装与使用_04

从SVN服务器check ou项目到本地路径中,成功建立关联后如下图所示:

android svn的安装与使用 svn 安卓_Gradle_05

  • 第二种方式:CVS–>Check from Verson Controll–>subversion–>选择仓库路径–>import:

点击yes打开,导入项目后会问你两次*iml要不要加到版本控制,选择no即可 。

点击yes后,可能遇到导入其他工程会弹出Import project form Gradle弹窗,需要选择UseLocal gradle distribution–>在Gradle Home中选择安装androidstudio中gradle插件的路径。这里是E:\AndroidStudio\studio\plugins\gradle

接着却提示:

the project is using an unsupported version of gradle. please point to a supported Gradle version in the project's Gradle.

The project is using an unsupported version of Gradle.
Please point to a supported Gradle version in the project's Gradle settings or in the project's Gradle wrapper (if applicable.) 
com.intellij.openapi.externalSystem.model.ExternalSystemException: The project is using an unsupported version of Gradle.
Please point to a supported Gradle version in the project's Gradle settings or in the project's Gradle wrapper (if applicable.)

原因:Gradle版本太新了
解决方式:

  1. AS去自行下载所支持的Gradle版本。
  2. 先拷贝下来项目,然后通过AS导入项目(曲线救国方式)。
  3. 引入其他的Gradle:

    C:\Users\xxxx.gradle\wrapper\dists\gradle-1.12-all\2apkk7d25miauqf1pdjp1bm0uo\gradle-1.12

接下来却报:Plugin with id ‘com.android.application’ not found.

4. AndroidStudio svn代码冲突的解决方式:

当代码冲突时候,会弹出Files Merged with Conflicts弹窗。弹窗左边是是冲突的列表,右边有合并方式,Accept Yours(以自己的代码为合并后的代码),Accept Theirs(接受svn服务器上的代码),Merge(两者合并)。

android svn的安装与使用 svn 安卓_Gradle_06

最佳方案:选择Merge(合并)–>合并对照窗口。
合并弹窗说明:有三个子视图部分,最左边视图的是本地代码,即自己的代码。中间视图是合并后代码显示的视图。最右边的是svn上的代码视图。
合并做法:点击箭头将两边冲突的代码添加到中间的合并区域中去,点击叉号则辨识放弃那一段代码,待所有冲突处理完成后merge就成功了。

android svn的安装与使用 svn 安卓_代码托管_07

5. AndroidStudio浏览SVN服务器上的项目文件夹:

步骤:Vcs–>Browse VS Repository–>Browse Subversion Repository.

android svn的安装与使用 svn 安卓_android svn的安装与使用_08

SVN Repository窗口会显示项目列表:

android svn的安装与使用 svn 安卓_代码托管_09

6. SVN关联后项目中颜色说明:

  1. 红色文件:未添加svn中文件,可以右键–>subversion-add to svn
  2. 绿色文件:关联上了svn,但是进行了修改,未提交。可以右键–>subversion-commit file
  3. 蓝色文件: 多人修改,需要下载后mergc后再上传。也可以先锁上(subversion-lock),修改完后cmomit提交上去,会自动解锁。

7. SVN创建分支

步骤:对着项目(Project)右键–>SubVersion–>Branch or Tag
–>弹出Create Branch or Tag弹窗–>Base URL选分支路径(同行中最右边的选择路径弹窗中选择)–>Comment注释–>OK.

android svn的安装与使用 svn 安卓_android-studio_10

比较项目的操作:对着项目右键–>SubVersion->Compare With branch…比较合并.

8. SVN恢复资源库文件

当文件修改了之后,发现修改的无效,需要恢复资源库最后一个版本的内容,在所选文件单击右键,选择 Subversion ,再选择Reset ,即回到了资源库中的版本。

9. 一些svn操作术语:

  1. Auto-update after commit :自动升级后提交
  2. keep files locked :把文件锁上,我想这应该就只能你修改其他开发人不能修改不了的功能,在你提交之前:before commit
  3. Reformat code:重新格式化代码
  4. Rearrange code:重新整理代码
  5. Optimize imports:优化导入
  6. Perform code analysis:执行代码分析[ 默认选择]
  7. Check TODO(show all):检测需要修改的代码[显示所有默认选择]
  8. clean up: 清除所有
  9. Update copyright:更新版权

PS:本篇文章,通过知乎,度娘,谷歌等多种方式搜索以及参考多篇优秀教程,资源如下。

资源参考: