最常用、最推荐的免费开源 SVN 服务器是 VisualSVN Server,它基于 Apache 和 Subversion,图形化界面,配置非常简单,特别适合 Windows 环境。

下面我将为你提供一个完整的、详细的教程,使用 VisualSVN Server 来搭建你的 SVN 服务器。
核心概念
- TortoiseSVN: 客户端,在你的电脑上用来“检出”(Checkout)、“提交”(Commit)、“更新”(Update)代码等。
- SVN 服务器: 服务器端,存储所有版本库,管理用户权限,处理客户端的请求。
- VisualSVN Server: 一个将 SVN 服务器和 Apache Web 服务器打包在一起的 Windows 服务,让你能轻松地管理和配置 SVN。
第一步:下载并安装 VisualSVN Server
-
下载:
- 访问 VisualSVN Server 官网:https://www.visualsvn.com/server/
- 下载 VisualSVN Server,它有免费版和专业版,个人和小团队使用免费版完全足够。
-
安装:
- 运行下载的安装程序,按照向导一步步操作。
- 关键选项:
- Select Components (选择组件):
- 确保 VisualSVN Server 和 VisualSVN Server Management Console 都被勾选,后者是图形化管理界面,非常重要。
- 你也可以选择安装 VisualSVN Server Command-Line Tools,方便高级用户使用命令行。
- Select Repository Location (选择仓库位置):
- 这是存放你所有版本库数据的地方,建议使用一个非系统盘的路径,
D:\SVNRepositories,默认路径是C:\Repositories。 - 重要:安装完成后,不要手动修改这个文件夹的路径,否则会导致服务无法启动。
- 这是存放你所有版本库数据的地方,建议使用一个非系统盘的路径,
- Select Users (选择用户):
- 这里可以创建初始管理员账户,创建一个名为
admin的用户,并设置一个强密码。 - 你也可以选择稍后在管理控制台中创建用户。
- 这里可以创建初始管理员账户,创建一个名为
- Select Components (选择组件):
-
完成安装:
(图片来源网络,侵删)- 安装完成后,VisualSVN Server 服务会自动启动。
- 开始菜单 -> VisualSVN -> VisualSVN Server Management Console,这是你的服务器管理工具。
第二步:创建版本库
版本库就是一个独立的项目仓库,每个项目都应该有自己的版本库。
- 打开 VisualSVN Server Management Console。
- 在左侧的树形结构中,右键点击你的服务器名称(通常是你的电脑名)。
- 选择 Create New Repository... (创建新仓库)。
- 设置仓库信息:
- Name: 为你的仓库起一个名字,
MyProject或Website,这个名字会变成仓库的 URL 的一部分。 - Access permissions: 选择 Create repository with 'Blank Access' permissions,这表示初始时没有任何用户有访问权限,我们需要在下一步手动分配权限,这样更安全。
- Name: 为你的仓库起一个名字,
- 点击 OK 创建。
创建成功后,你的仓库就会出现在列表中,右键点击仓库,你可以选择 Browse 来查看仓库的初始结构(trunk, branches, tags)。
第三步:创建用户和分配权限
为了控制谁能访问仓库以及能进行什么操作,我们需要创建用户并分配权限。
-
创建用户:
(图片来源网络,侵删)- 在左侧树形结构中,右键点击 Users。
- 选择 Create New User...。
- 输入用户名(
zhangsan)和密码,然后点击 OK。 - 为每个需要访问仓库的成员重复此操作。
-
分配权限:
- 在左侧树形结构中,右键点击你刚才创建的仓库(
MyProject)。 - 选择 Properties... (属性)。
- 切换到 Security (安全) 选项卡。
- 点击 Add... 按钮,从弹出的列表中选择你刚才创建的用户(
zhangsan)。 - 权限说明:
Read (r): 只读权限,用户可以检出和查看代码,但不能提交。Write (rw): 读写权限,用户可以检出、查看、提交、添加、删除文件。Read/Write: 这是rw的快捷方式。禁止: 拒绝访问。
- 为用户
zhangsan分配Read/Write权限,你可以为不同用户分配不同权限。 - 点击 OK 保存设置。
- 在左侧树形结构中,右键点击你刚才创建的仓库(
第四步:配置防火墙
为了让局域网或互联网上的其他用户能够访问你的 SVN 服务器,需要确保防火墙允许 SVN 通信。
VisualSVN Server 默认使用 HTTPS (443端口) 和 HTTP (80端口),HTTPS 是加密的,强烈推荐使用。
- 打开 Windows 防火墙(控制面板 -> 系统和安全 -> Windows Defender 防火墙)。
- 点击左侧的 “允许应用或功能通过 Windows Defender 防火墙”。
- 点击 “更改设置”(需要管理员权限)。
- 找到 VisualSVN Server,确保勾选了 专用 和 公用(如果你希望外网访问)复选框。
- 点击 确定。
第五步:客户端连接和使用 TortoiseSVN
现在服务器已经配置好了,你可以在客户端电脑上使用 TortoiseSVN 来连接和使用它了。
-
获取仓库地址:
- 在 VisualSVN Server Management Console 中,右键点击你的仓库(
MyProject)。 - 选择 Copy URL to clipboard,仓库地址的格式通常是:
- HTTPS (推荐):
https://你的服务器IP或域名/MyProject(https://192.168.1.100/MyProject) - HTTP (不推荐,不安全):
http://你的服务器IP或域名/MyProject
- HTTPS (推荐):
- 在 VisualSVN Server Management Console 中,右键点击你的仓库(
-
在客户端电脑操作:
-
检出:
- 在你想要存放代码的文件夹上,右键点击,选择 SVN Checkout...。
- 在 "URL of repository" 框中,粘贴你刚才复制的仓库地址。
- "Checkout directory" 会自动填入当前路径。
- 点击 OK。
- 系统会提示你输入用户名和密码(你之前创建的
zhangsan和密码),勾选 Save authentication 可以下次不用再输入。 - 成功后,该文件夹就会出现一个绿色的对勾标记,表示这是一个已同步的 SVN 工作副本。
-
日常操作:
- 修改文件:直接编辑文件。
- 查看修改:右键点击文件或文件夹 -> TortoiseSVN -> Show Modified。
- 提交:右键点击工作副本根目录 -> SVN Commit...,在弹出的窗口中,填写提交信息,然后点击 OK。
- 更新:右键点击工作副本 -> SVN Update,这是在提交前非常重要的步骤,确保你拿到的是最新版本。
-
常见问题与最佳实践
-
问题:
Error: Can't connect to repository- 解决:
- 检查 VisualSVN Server 服务是否正在运行(服务管理器中查看)。
- 检查防火墙设置是否允许 443 (HTTPS) 或 80 (HTTP) 端口。
- 检查 SVN 仓库 URL 是否正确。
- 确保用户有正确的权限。
- 解决:
-
最佳实践:使用
trunk,branches,tags结构- 在创建新仓库时,VisualSVN Server 默认会为你创建这个经典结构。
trunk: 主干,存放项目当前正在开发的最新、最稳定的代码,大部分的提交都在这里。branches: 分支,用于开发新功能、修复 Bug 或进行实验,当你在分支上开发完成后,可以将其合并回trunk。tags: 标签,用于给某个重要版本(如 v1.0, v2.1)打上一个快照,标记为不可更改。
-
最佳实践:编写清晰的提交信息
每次提交时,都写清楚这次修改了什么,为什么修改,这有助于团队成员理解和追踪代码的变更历史。
-
如何备份?
- VisualSVN Server 提供了非常方便的备份工具,在 VisualSVN Server Management Console 中,右键点击你的服务器,选择 All Tasks -> Hot Backup...,你可以设置定期备份任务,防止数据丢失。
至此,你已经成功搭建并配置好了一个功能完整的 SVN 服务器,并且知道了如何使用 TortoiseSVN 客户端来连接它。
