安装SVN服务器和客户端
在服务器SVN创建仓库,然后设置仓库的权限(让谁可读写)。
-创建空仓库
-创建带brnches tags trunck的仓库(推荐)
可以鼠标右键从仓库checkout。
关联本地project到server
IDE的忽略配置:
Settings->Version Control--Ignore Unversioned Files下面去配置
PS:提前配置
关联project到svn服务器
VCS->Import into Version Control->Share Project(Subversion)
这里我的仓库已经创建了branchs,tags,truck三个目录。所以这里之间关联到truck目录下的SVNTest目录。填写提交日志(创建project目录),点击share开始关联
此时服务器生成项目空目录
本地Project视图下文件变色:绿色为新增,黄色为忽略。
配置服务器仓库的忽略属性
在Project视图选中SVNTest目录右键--Subversion---Set Property,然后配置忽略属性:
*.iml
.gradle
.idea
build
local.properties
.DS_Store
captures
记得打上update projecties recursively选项,递归配置子目录文件。
提交本地Project到SVN服务器
这里由于是第一次提交所以全是新增文件。
两种提交方式:
1.菜单栏vcs(向上箭头)
2.在project视图下,选中项目右键---Subversion---Commmit Directory(第一次提交推荐)
提交对话框:(红框选中的如果选中,点击完commit会发现没反应,需要你检查代码,初始提交可以去掉)
提交完成会在底部VersionControl视图弹出通知
PS:VersionControl视图可以查看文件状态
重新关联
如果由于某种原因想重新关联,可以将project目录下的.svn目录删除,然后在Setting—Version Control里将project的版本控制设置删除。然后重新执行关联操作。
从服务器Checkout代码到本地
鼠标右键或者在studio里面File---new ----project from Version Control---Subversion配置服务器地址与密码:
会询问是否信任该地址,确定后,弹出用户名帐号,密码界面:
选择Checkout路径
输入正确后,双击地址加载出有权限访问的目录,选中对应的project,点击checout,会询问checout到那个路径下,选择即可。
checkout选项:
接着会询问你准备checout到所选路径的那个目录里,方便起见,选择第二个即可。
checkout的版本默认为最新版本,也可以选择特定版本。depth为检出深度,选择其他默认infinity全目录检出即可。
接下来同样选择svn版本。
打开project:
由于提交的时候忽略的.gradle目录和.idea目录(因为每个人的配置可能不一样),所以需要你配置gradle信息。根据个人情况配置即可。
点击OK,开始构建项目。
构建完成以后,编译运行一下。可以看到编译生成的文件已经变成黄色,自动被忽略。因为此时服务器的忽略配置也更新了下来。
常规操作
提交
点击提交本地变动。提交的操作与上面初始提交一样。
错误:如果本地version低于服务器,直接提交则会报错。此时需要先更新,再提交。
更新
点击标题栏更新整个project,或者某个目录右键subversion—update directory更新目录。
默认都不勾选则更新到最新版本,点击OK更新。
如果更新时本地代码与服务器有冲突则会弹出:
合并
点击Merge会有合并窗口,不同的改变会有不同的颜色。
合并以后保存,标记merge完成。本地version已经是最新。可以提交了。
如果提示merge的窗口关闭了,可以通过右键菜单再次发起处理冲突操作和标记已处理。
对比
在某个文件中右键可以:
查看文件version,与服务器相同version(改动前)进行对比,与服务器最新版本对比,与某个特定版本对比,与某个分支对比。
比如与服务器最新版本对比,差异会高亮显示,操作方式:
X号/箭头:服务器替换本地
按下ctrl变成斜箭头:代表服务器差异代码插入到本地代码中
注意事项:
勤更新,尽量保证本地version代码是最新版本。
提交前一定要找相关的人Review!一定要Review!一定要Review!
其他
1. 修改服务器地址
2. 清除帐号信息,重新登录
3. 更多功能,静候大家去摸索。