一、SVN安装
1.官方下载地址
https://tortoisesvn.net/downloads.zh.html
点击后稍等,自动完成下载:
下载后的安装包:
2.安装
二、基本使用
1.checkout
1.1首先要有一个SVN的地址,例如:
https://192.168.23.225/svn/SoftwareTesting/02_ProjectLevel/11_5G_Standard/Communal/01_ProjectMonitoring/01_WeeklyReport/01_SDX55/02_组员周报
1.2然后在本地新建一个文件夹,名称自定义:
1.3 进入文件夹,在空白处右击,点击SVN Checkout:
1.4 输入SVN地址,点击OK:
1.5 完成checkout,可以正常使用和查看文件了
2.update
保证本地内容最新,与服务器一致
2.1 进入到你想要update的目录,在空白处右击,选择点击update
2.2 自动下载并完成与服务器同步(同步本地与服务器一致,包含增删改等操作)
注:要养成良好的习惯,查看和编辑文件之前都先update一下,可以保证你操作的文件都是最新的。
3.commit
提交本地的更改到服务器(同步服务器与本地一致,包含增删改等操作)
3.1 增加:
3.1.1 先新增一个文件,然后在文件上右击,选择Add:
3.1.2 然后在空白处点击commit,完成上传提交
3.1.3 此时查看服务器,文件已经被上传
3.2 修改
3.2.1 修改前先update一下,保证最新。修改后,右击点击commit,完成修改
3.3 删除
3.3.1 与新增文件相似,选择要删除的文件,右击选择delete
3.3.2 提交删除后查看服务器,文件已不不存在
4.show log
4.1在空白处右击,选择show log,可以查看更新记录
5.repo-browser
查看服务器内容
6.Revert
撤销修改
7.clean up
有时候SVN 本地更新时,由于一些操作中断更新,如磁盘空间不够、取消等,可能会造成本地文件被锁定,此时运行一下clean up可以解除
8. Update to revision
后悔
可以更新本地内容到指定版本:
删除的文件又回来了:
三、常见问题
- 误提交:例如修改、删除等,想要改回来,可以使用 Update to revision,下载更改前的版本文件到本地,然后再次提交这未修改的到服务器。
- 异常报错,本地文件被锁定,此时运行一下clean up
- 冲突
3.1冲突产生的原因
- 假设A、B两个用户都在版本号为100的时候,更新了1.txt这个文件
- A用户在修改完成之后提交1.txt到服务器,这个时候提交成功,此时1.txt文件的版本号已经变成101了。
- 同时B用户在版本号为100的1.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。
此时B同时修改1.txt文件并提交
3.2如何解决冲突
方法一
在冲突的文件上(选中文件--右键菜单—TortoiseSVN—Edit conflicts
Theirs窗口为服务器上当前最新版本
Mine窗口为本地修改后的版本
Merged窗口为合并后的文件内容显示
点击use this text block就会将指定内容添加到处理结果中,处理好后点击SAVE
最后提交解决
最后查看服务器内容,两者都有了:
方法二
冲突产生后:
备份自己的修改,删除冲突文件:
删除后重新update最新文件,将自己的修改手动补充上去,再提交
此时已是根据最新内容进行修改,不会再出问题了
3.3如何避免冲突
1.修改前先update,保证本地内容是最新的
2.当文档编辑完成后,尽快提交
3.避开短时间多人提交时段进行更新
4.发生冲突后要妥善解决,不可强行提交,造成别人的修改被抵消