安装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

这里写图片描述

配置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 文件。

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

    这里写图片描述

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

    这里写图片描述

  • 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会自动加载项目。

    这里写图片描述

    这里写图片描述

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

    这里写图片描述

  • 第二种方式: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(两者合并)。

这里写图片描述

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

这里写图片描述

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

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

这里写图片描述

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

这里写图片描述

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.

这里写图片描述

比较项目的操作:对着项目右键–>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:本篇文章,通过知乎,度娘,谷歌等多种方式搜索以及参考多篇优秀教程,资源如下。

资源参考:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐