1. 课程介绍
- 1. 为什么需要SVN(掌握)
- 2. 安装、配置SVN服务器(掌握)
- 3. 安装、配置、使用SVN客户端(掌握)
- 4. 使用Eclipse SVN插件(掌握)
- 多人协作项目管理的问题
2.1. 项目协作开发面临的问题
- 多人协作,代码放哪 ? 云端(服务器)!!
- 多人协作,如果出现代码冲突 ??? 版本控制工具
- 在代码整合期间引发BUG ??? XXX工具
想办法,在不影响现有项目的基础上,解决BUG。
- 多人协作,领导要看项目 ?? 只读权限 !!
- 项目版本的发布问题 ??
2.2.
|
各种版本统一管理
2.3. 集中式管理svn和分布式管理git
2.3.1. 集中式管理svn:必须联网(局域网,互联网)
2.3.2. 分布式管理git(oschina,github)
不需要联网都可以提交(先提交至本机),有网络之后再提交至服务器
- SVN服务器安装
3.1. 安装
方式1:VisualSVN-Server-2.1.9.msi
方式2:Apache+Subversion 自己手动做集成配置
- SVN服务器配置
4.1. 新建仓库(新建项目)
4.2. 仓库目录含义
branches分支 牛叉的分页组件
tags标志(里程碑) 正式版版本1,正式版2015版本
trunk主干 最新的代码,代码是不稳定的
4.3. struts2 svn地址
http://svn.apache.org/repos/asf/struts/struts2/trunk
4.4. 在查看地址时,如果还没有用户, 会提示新建用户:
4.5. 配置用户权限:
- 禁用Everyone(No Access)
- 添加其他svn系统用户
- 给用户配置权限
4.6. 组的使用
4.7. svn服务器项目访问的地址
http://机器名(建议使用内网ip地址):81定义端口/svn固定字符串/ssm项目名称/
http://192.168.1.254:81/svn/ssm/
- SVN客户端安装&配置
5.1. 客户端安装
安装完成会提示重启或者注销系统!!
5.2. 重建图标
5.3. 桌面点击右键看到如下:表示安装成功
不要在文件夹上面点击右键
桌面空白的地方点击右键
5.4. 汉化客户端
运行LanguagePack_1.6.16.21511-x64-zh_CN.msi汉化
桌面空白的地方点击右键,svn,设置
- 客户端常规操作
6.1. 检出(check out):第一次下载服务器的代码
访问地址:ip地址:svn服务器的端口/svn/项目(模块)名称
6.1.1. 通过局域网的ip地址来访问
http://192.168.1.2:81/svn/pss/
6.1.2. 通过机器名称来访问
http://itsource:81/svn/pss/
6.2. 更新:第2-n次以后操作:
6.3. 向SVN服务提交代码方案1:
6.3.1. 添加到缓冲区
变成蓝色+
6.3.2. 真正同步到服务,还需要
6.3.3. 总结
6.4. 向SVN服务提交代码方案2:使用频率比较高
直接提交
- SVN图标示意
有时候,因为电脑性能的原因,可能不会立即更新图标,大家不要太在意这个图标
蓝色问号:询问是否要纳入SVN做管理。
蓝色加号:该文件和SVN上的文件不一致,需要你提交该文件到SVN上去。(代表是新建的文件)
绿色的勾:该文件和SVN服务器上的文件一致
红色的感叹号:该文件和SVN上得文件内容不一致。(代表是文件受到更改)
黄色感叹号:代表文件有冲突。
灰色的减号:该文件或文件夹被SVN忽略掉,SVN不会对它进行任何管理。
红色的叉:该文件在SVN上最新版中不存在了。我们需要UPDATE才能把本地的文件删除掉。
黄色的锁:表示当前文件被锁了,别人就不能修改了。
- SVN使用的注意事项
8.1. 要求:
先更新,再提交
8.2. 不更新,直接修改,直接提交
8.3. 结果一--自动合并:
可能没有同时修改同一行
8.4. 结果而--冲突,需要手动解决:
同时修改同一个文件的同一行
8.5. 解决冲突的3种方式:
8.5.1. 强制替换成自己的!!
8.5.2. 强制使用别人!!
自己本来没改,但是被svn服务器认为修改了
8.5.3. 建议使用:自己编辑冲突:两个都要保留,必须自己选择合并!!
自己修改代码,根据需要去包含it1的代码和it2(自己)的代码
修改完成之后
点击文件,右键,
把冲突问题已经解决了,提交
8.6. 忽略
- 清除保存的svn密码
删除C:\Users\admin\AppData\Roaming\Subversion
- CRM仓库搭建
10.1. 引入
现在我们已经学习可以服务端搭建和客户端TortoiseSVN使用,我们可以尝试搭建CRM的仓库。
10.2. 步骤
1)创建仓库
2)分配权限
3)下载仓库
4)trunk上传代码---注意事项 组长完成
----------------------------------------------
5)把账号发给开发者
6)开发者checkout代码
7)导入eclipse开发
8)TortoiseSVN-更新,添加、提交的等操作。
10.3. 注意
上面的步骤完成之后,才进行后续操作,由组长完成
特殊文件处理:
配置文件jdbc.properties,数据库访问密码
个人不要提交,如有新改动由项目经理提交
jdk版本项目目录下面.classpath.project.settings
会出现lib找不到等错误,这种问题要会解决。解决后不要提交,不要更新
编译文件classes
排除不受SVN管理
总之选择性更新。
组员第一次不从svn里面下载代码
由组长把刚才忽略掉以上文件的crm代码打包给组员
组员自己修改数据库密码,eclipse配置(server runtime,jdk)
- SVN客户端-Eclipse SVN插件使用
11.1. 引入
前面我们已经搭建了CRM的仓库,并且可以使用TortoiseSVN来管理代码了。但是我们一般开发代码在eclipse开发,但是提交代码要使用TortoiseSVN。要切换两个工具。比较麻烦,是否可以在Eclipse直接操作呢?可以这要使用Eclipse svn插件
11.2. 安装
11.2.1. 下载插件包
使用新版本
11.2.2. 安装
解压缩插件包到eclipse的dropins下面就可以
D:\eclipse\dropins\site-xxx
11.2.3. 确认安装结果
重启eclipse