新同事拿到仓库地址,照着网上的教程装完 TortoiseSVN,右键菜单里却找不到 SVN Checkout。问题不在安装包,在于他下的是不带外壳扩展的精简版,白折腾一上午。

该下哪个包

Windows 上图形化客户端认准 TortoiseSVN,站点是 tortoisesvn.net,下载页按位数分 64 位和 32 位,选 msi 安装包,体积 20MB 上下。要中文界面再单独下同版本的 LanguagePack。习惯命令行的,可以装 VisualSVN Server 附带的客户端,或者装 TortoiseSVN 时把命令行组件勾上,两者 bin 目录里都有 svn.exe。别从下载站的极速版拿,常被塞工具栏和推广程序。

安装时勾哪几个组件

  • command line client tools:默认是红叉,不勾就没有 svn 命令,批处理脚本和 CI 全用不了。
  • TortoiseSVN 主程序:必装,右键菜单和资源管理器里的图标覆盖都靠它。
  • LanguagePack:装完在主程序里进 Settings 的 General 页,Language 选中文简体,然后重启资源管理器。

安装向导结束时,选稍后也行,但装完必须重启 explorer.exe,否则右键菜单不出现。

第一次检出

新建一个空文件夹,右键选 SVN Checkout,URL 填管理员给的地址,形如 https://svn.example.com/repo/trunk,检出目录默认就是当前文件夹。弹认证框时输账号密码,勾上保存认证,后面就不用反复输。首次检出会把整个版本库拉到本地,仓库大的话几百 MB 也正常,中途别关窗口,断了重来更费时间。

日常就四个动作

开工前先 Update,把别人的改动拉下来,能减少冲突。改完文件图标会变红,右键 Commit,日志要写清楚改了什么,空日志提交以后回溯非常痛苦。新增文件要先 Add 再提交,否则服务端收不到。改错了想放弃,用 Revert 还原到上次更新后的状态,这个操作不可撤销。

  • 判断提醒:检出目录里的 .svn 隐藏文件夹存着版本信息,删掉本地就变成普通文件夹,再也提交不了。编译产物和几百 MB 的安装包别往仓库塞,清理历史很麻烦。