1. 服务器端VisualSVN
1.1 下载地址
1.2 安装步骤
1.3 创建仓库
- 右击Repositories,点击Create New Repository
1.4 在仓库下创建项目
- 右键仓库svn_test,新建,Project Structure
- 右击truck,copy url to clipboard
1.5 创建用户
- 右击Users,Create User
1.6 权限分配
- 这里暂时忽略,以后再补充
2. 客户端TortoiseSVN
2.1 下载地址
2.2 安装步骤
- 一直下一步即可
- 安装完毕后需要重启电脑,右键的菜单会多出svn的选项
2.3 常用操作
2.3.1 检出操作Checkout
- 第一次从svn仓库下载项目到本地工作目录时并跟svn进行关联同步时使用(只使用一次即可,后面都是用update)
- 实际工作中仓库项目的url和用户密码会有管理人员给予
2.3.2 增加关联操作Add
2.3.3 提交同步操作Commit
对文件进行了增删改等操作都必须Commit后才会提交到服务器端进行同步
- 右击感叹号目录或者在目录中的空白处右击,选中SVN Commit
2.3.4 更新操作Update
-
从服务器端把最新版本代码更新到自己的工作目录
-
把aaa提交上去的文件在bbb工作目录更新下来了
2.3.5 删除操作
- Delete把文件进行删除并关联到服务器端,但未提交,服务器端文件未被删除,只有commit后才会真正删除
- Delete后无法通过Update回来,因为自己已标记删除,即使服务器端文件未被删除
- 提交删除文件操作同步到服务器端
2.3.6 查看当前未提交的修改操作(增删改)的文件Check for modifications
- 可以恢复到修改(增删改)状态前
2.3.7 更新到指定版本Update to revision
2.3.8 回滚恢复操作Revert
- 只能回滚恢复未被Commit的文件
2.4 冲突解决
2.4.1 概述
- 用户修改了非最新版本的文件,提交时产生冲突
- AAA用户和BBB用户都从服务器端更新了最新版本10的文件test.txt,AAA修改该文件并提交,服务器端版本就变成了版本11,但BBB不知道,BBB也要修改test.txt文件,然后提交,就会出现冲突,因为test.txt已经从版本10变成版本11,但BBB仍然改的是版本10
2.4.2 模拟情形
-
版本10的文件test.txt
-
AAA修改了test.txt文件并提交
-
BBB修改旧版本的test.txt文件
-
BBB对test.txt文件的修改进行提交
2.5.3 解决方式一
- 取消提交,取消更新,复制自己修改后的test.txt文件到其他地方备份,使用Revert回滚操作到版本10,然后再更新把版本11从服务端更新下来,根据版本11的test.txt与自己备份的test.txt进行比对修改,修改后再提交
2.5.4 解决方式二
-
BBB把最新版本更新下来并取消test.txt的提交操作
-
更新后BBB的工作目录下多了几个文件
-
编辑冲突
- 合并文件框的右键菜单4选1即可(我这里选了第三个,变成aaa222111)
- 保存并标记已解决冲突,会自动把多余产生的文件删除
3. Eclipse安装SVN插件
3.1 下载地址
3.2 安装步骤
- Help→Install New SoftWare
- 后面一直下一步就行,安装完毕会重启Eclipse
3.3 SVN插件的使用
-
3.3.1 分享项目到svn仓库
- 右击Eclipse中的项目→Team→Share Project→SVN
- 然后一直下一步
- 继续一直下一步
- 后面需要输入帐号密码,如果没有保存用户,则需要输入多次帐号密码
- 设置完成后项目有一个星号*图标,这只表示项目与svn仓库关联了,但项目代码并未提交到svn服务器上,需要[右击项目→Team→提交]进行提交项目到服务器上,提交完项目有一个小圆柱图标
-
3.3.2 检出项目
- 打开SVN资源库界面,Window→Show View→Other
- 右击空白处新建资源库位置
- 后面的认可证书和输入帐号密码
- 检出项目
- 打开SVN资源库界面,Window→Show View→Other
-
3.3.3 其他操作
- 大部分功能都在右击项目→Team→菜单栏
- 大部分功能都在右击项目→Team→菜单栏