SVN 团队协作开发版本控制工具
目录
SVN
1. 开发中所遇到的问题
- 架构师搭建好的 Java 项目如何分享给大家?
- 每一名程序员写好的代码(或模块)如何上传?
- 多人编写同一块代码产生的冲突该如何解决?
- 程序员删库跑路了,该如何实现代码回溯?
代码版本控制工具有 SVN、Git 等,虽然 Git 的市场份额越来越高,但是现在还有很多中小公司在用 SVN。本文主要介绍的是在 IDEA 上如何使用 SVN。
2. SVN 工作流程
- SVN 全称:SubVersion。
- 认证:传递给服务器 SVN 服务器地址、用户名、密码。
- 上传项目(share project,分享):将创建好的项目分享给服务器,只需要分享一次。
- 下载项目(check out,检出):将服务器仓库代码下载到本地,只需要检出一次。
- 上传代码(commit,提交):将本地代码提交到 SVN 服务器。
- 更新代码(update):将服务器最新代码下载到本体。
- 内置数据库:用了一种嵌入式小型数据库 SQLlite,记录了版本号(每次更新都会递增版本号的值)、操作人、操作时间、操作方式、受影响代码等信息。
3. SVN 服务器安装和使用
a. 安装介绍
- 可以修改修改端口为 8443:
b. 使用介绍
- 打开 VisualSVN Server Manager,创建仓库 >> 创建用户 >> 创建组 >> 给指定仓库授权。
4. SVN 客户端安装和使用
a. 安装介绍
- 安装完毕,必须重启电脑。
b. 清除已保存数据
c. 测试连接 SVN 服务器
d. 使用介绍
① 检出项目(checkout)
② 编写本地代码,上传到 SVN 服务器
- 将编写的代码先添加 SVN 管理,再提交到 SVN 服务器。
③ 将 SVN 最新代码更新到本地
- 右键 update 更新即可。
④ 代码冲突
- 多人协作开发时,操作同一行代码,就可能会产生冲突,这时候可以把另一个人叫过来一起解决,不要擅自做主。
-
开发时如何尽量避免冲突?
上班之前更新,在写代码,提交代码之前再更新一次。
⑤ 删除代码
- 先删除,再提交,SVN 服务器文件也就没了。
- 注意:一定是这种方式删除:
⑥ 代码回溯(找回)
- 先选择日志,还原到指定版本,回溯提交。
5. IDEA 集成 SVN 客户端插件
a. IDEA 中配置 SVN 插件
b. SVN 标准仓库
c. IDEA 中使用 SVN
① 创建项目
- 创建 Maven 工程,交给 SVN 管理,分享到 SVN 服务器。
② 检出项目
- 通过 IDEA 检出 Maven 工程。
③ 编写代码,提交到 SVN 服务器
④ 更新 SVN 服务器下载本地
⑤ 解决代码冲突
⑥ 忽略(ignore)
- 只上传 Maven 的源代码,忽略本地生成的 .idea 和 .iml。
6. SVN 分支操作
a. 检出
- 在主干中检出分支代码(时间 + 功能)
- ALT + 9 调出 version control 会话框:
b. 编辑代码并提交
- 使用 IDEA 切换到分支,编辑代码,提交。
c. 合并
- 使用 IDEA 操作主干将分支的代码进行合并。
7. 综合案例
a. 上传项目到 SVN
b. 检出项目
① 从 SVN 中检出项目
② 配置 Tomcat
③ Debug 运行
c. FAQ
① Failed to Share Project
- 问题:
- 解决方案:
② 上传后服务器端不存在
- IDEA 开发工具对 SVN 支持并不友好,如果项目文件太多,上传可能会卡死,导致未上传项目文件。所以第一次上传推荐在项目目录下使用 Tortoise 提交,当然也可以使用 IDEA 上传小文件。