前提:svn服务器仓库已创建,得到仓库URL。
PS:提前配置(所有的build\.idea\.gradle目录都需要忽略)
点击share project
这里我的仓库已经创建了branchs,tags,truck三个目录。所以这里之间关联到truck目录下的SVNTest目录。填写提交日志(创建project目录),点击share开始关联
选择SVN版本,我这里是1.8.点击OK。
开始关联:
关联完成
此时服务器生成SVNTest空目录
本地Project视图状态:绿色为新增,黄色为忽略。
在Project视图选中SVNTest目录右键--
配置服务器的忽略属性:
*.iml
.gradle
.idea
build
local.properties
.DS_Store
captures
记得打上update projectiesrecursively选项,递归配置子目录文件。
小技巧:新建或者导入module时重复此操作可以将生成的build目录自动加入忽略管理
(如果不配置这个步骤,其他人从服务器checkout下来代码以后,编译生成的这些无关文件,可以选择不添加到版本控制也可以。不加入版本控制,显示红色)
这里由于是第一次提交所以全是新增文件。
提交两种方式,一种是在菜单栏的 。
另外一种:
加载中:
提交对话框:(红框选中的如果选中,点击完commit会发现没反应,需要你检查代码,初始提交可以去掉)
提交完成会在底部VersionControl视图弹出通知
PS:VersionControl视图可以查看文件状态,提交,
如果由于某种原因想重新关联,可以将project目录下的.svn目录删除,然后在Setting—VersionControl里将project的版本控制设置删除。然后重新执行关联操作。
或者在Studio界面里
会询问是否信任该地址,确定后,弹出用户名帐号,密码界面:
输入正确后,双击地址加载出有权限访问的目录,选中对应的project,点击checout,会询问checout到那个路径下,选择即可。
接着会询问你准备checout到所选路径的那个目录里,方便起见,选择第二个即可。
checkout的版本默认为最新版本,也可以选择特定版本。depth为检出深度,选择其他默认infinity全目录检出即可。
接下来同样选择svn版本。(建议团队使用相同版本)
checout完成:
由于提交的时候忽略的.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. 更多功能,静候大家去摸索。