Eclipse 使用 SVN (Subversion) 完整教程
本教程将引导您完成在 Eclipse IDE 中集成和使用 Subversion (SVN) 版本控制系统的所有关键步骤。

第一部分:准备工作
在开始之前,请确保您已经安装了以下软件:
- Eclipse IDE: 推荐使用较新的版本(如 2025-12 或更新),它们内置了 SVN 客户端支持。
- SVN 服务器: 您需要一个 SVN 服务器来托管您的代码仓库,这可以是:
- 本地服务器: 在您自己的电脑上搭建一个 SVN 服务器(例如使用 VisualSVN Server for Windows)。
- 远程服务器: 公司内部或互联网上的 SVN 服务器(
svn://yourserver.com/project或https://svn.yourserver.com/project)。 - 在线 SVN 托管服务: 像 Assembla, CodebaseHQ 等服务(现在较少见,但依然可用)。
- SVN 账户: 拥有访问上述 SVN 服务器的用户名和密码。
第二部分:安装和配置 SVN 客户端
现代的 Eclipse IDE 通常已经包含了 SVN 客户端插件,但有时可能需要手动安装或验证。
验证 SVN 插件是否已安装
- 打开 Eclipse。
- 点击顶部菜单栏的
Help->About Eclipse IDE。 - 在弹出的窗口中,点击
Installation Details。 - 在已安装的功能列表中,查找
SVNKit或Subversion (SVN) Team Provider,如果找到了,说明插件已经安装,您可以跳到第三部分。
手动安装 SVN 插件 (如果未安装)

- 点击
Help->Eclipse Marketplace...。 - 在搜索框中输入
Subclipse或SVNKit。- Subclipse: 一个非常成熟和流行的 SVN 客户端插件。
- SVNKit: Eclipse IDE 默认集成的 SVN 客户端,通常性能更好。
- 在搜索结果中,点击
Go,然后选择一个插件(SVNKit),点击Install并按照向导完成安装。 - 安装完成后,Eclipse 会提示您重启。
第三部分:从 SVN 检出项目
这是您第一次获取代码仓库中项目的操作。
操作步骤:
-
在 Eclipse 的菜单栏中,选择
File->Import...。 -
在弹出的导入窗口中,展开
SVN文件夹,然后选择Checkout Projects from SVN,点击Next。
(图片来源网络,侵删) -
创建新的 SVN 仓库位置:
- 在 "Select a repository location" 窗口中,点击
Create a new repository location。 - 在
URL字段中,输入您的 SVN 仓库地址(svn://localhost/myproject或https://svn.example.com/myproject)。 - 点击
Finish,Eclipse 会尝试连接到仓库。
- 在 "Select a repository location" 窗口中,点击
-
认证:
- 如果仓库需要认证,会弹出一个登录窗口。
- 输入您的 User Name 和 Password。
- 重要提示: 勾选
Save password可以避免每次操作都输入密码,但在公共电脑上请注意安全,勾选Use Keychain(macOS) 或类似选项可以更安全地保存密码。 - 点击
OK。
-
选择项目:
- 连接成功后,会显示仓库中的所有项目(或分支/标签)。
- 勾选您想要检出的项目。
- 点击
Next。
-
选择工作空间:
- 在 "Check out as" 窗口中,选择
Check out as a project in the workspace。 - 您可以为项目指定一个名称(如果未自动识别)。
- 选择要将项目检出到哪个工作空间目录。
- 点击
Finish。
- 在 "Check out as" 窗口中,选择
-
完成:
- Eclipse 会开始下载项目文件,并在左侧的
Package Explorer视图中显示您的项目。
- Eclipse 会开始下载项目文件,并在左侧的
第四部分:日常 SVN 操作
这是您每天都会用到的核心功能,这些操作通常通过右键点击项目或文件来完成。
更新
在开始修改代码之前,始终先更新,以确保您拥有最新的版本。
- 操作: 右键点击项目 ->
Team->Update(或直接按快捷键Alt+Shift+U)。 - 效果: 从 SVN 服务器拉取最新的文件和更改,合并到您本地的项目中。
提交
当您完成了一部分工作,想要将更改保存到 SVN 服务器时。
- 操作: 右键点击项目或您想提交的特定文件 ->
Team->Commit...。 - 效果: 弹出一个提交窗口。
- Commit Message: 这是最重要的部分! 写一个清晰、简洁的提交信息,描述您这次做了什么修改。“修复了登录页面的按钮样式”或“添加了用户注册功能的后端接口”。
- Uncommitted Changes: 窗口下方会列出您将要提交的所有修改的文件,请仔细检查,确保没有提交不想要的文件。
- 点击
Commit按钮。
添加新文件/文件夹
当您在工作空间中创建了新的文件或文件夹,并希望将它们纳入 SVN 管理时。
- 操作: 右键点击新文件/文件夹 ->
Team->Add to Version Control。 - 效果: 文件/文件夹被标记为“已添加”,但还未提交到服务器,您需要执行一次
Commit操作才能真正将其上传。
删除文件/文件夹
当您需要从项目中移除文件或文件夹时。
- 操作: 右键点击要删除的文件/文件夹 ->
Team->Delete。 - 效果: 这会执行一个“逻辑删除”,文件/文件夹会从您的本地工作空间消失,并且标记为“已删除”,同样,您需要执行一次
Commit操作,这个删除才会永久生效。
查看历史记录
查看某个文件的修改历史。
- 操作: 右键点击文件 ->
Team->Show History。 - 效果: 打开一个历史记录视图,显示该文件的所有提交记录,包括提交者、时间和提交信息,您可以双击任意版本来查看该版本的代码。
比较与合并
比较两个版本之间的差异。
- 比较本地与服务器版本: 右键点击文件 ->
Team->Compare with->Latest from HEAD(或Base,即您本地修改的基准版本)。 - 比较两个历史版本: 在
Show History视图中,选择两个版本,右键点击 ->Compare。 - 效果: 会打开一个差异比较器,清晰地显示文件内容的不同之处。
第五部分:解决冲突
当您和团队成员修改了同一个文件的同一行代码时,就会发生冲突,SVN 无法自动决定哪个版本是正确的,需要您手动解决。
冲突发生时的场景:
- 您修改了
A.java文件的第 10 行。 - 在您提交之前,另一位同事也修改了
A.java文件的第 10 行,并成功提交。 - 当您执行
Update时,Eclipse 会发现冲突,并在您的文件中插入冲突标记。
如何解决冲突:
-
更新并发现冲突: 执行
Update后,Eclipse 会提示您有冲突,被冲突标记的文件图标上通常会有一个红色感叹号或“M”图标。 -
打开冲突文件: 双击打开有冲突的文件,您会看到类似下面的标记:
<<<<<<< .mine // 这是您的修改 public void myMethod() { System.out.println("Hello from me"); } ======= // 这是服务器的修改(来自同事) public void myMethod() { System.out.println("Hello from colleague"); } >>>>>>> .r123 // .r123 是一个版本号 -
手动解决: 您需要编辑这个文件,删除所有的冲突标记 (
<<<<<<<, ,>>>>>>>),并手动决定保留哪个版本,或者将两个版本的修改合并成一个正确的版本。 -
标记为已解决: 解决完所有冲突后,右键点击该文件 ->
Team->Mark as Resolved。 -
提交: 执行
Commit操作,将您解决冲突后的版本提交到服务器。
第六部分:忽略文件
有些文件我们不希望 SVN 管理,例如编译生成的 .class 文件、.project 文件、日志文件、IDE 配置文件等。
操作步骤:
- 右键点击项目 ->
Team->Set Property...。 - 在属性名称中,输入
svn:ignore。 - 在属性值中,输入您要忽略的文件名或模式,每行一个。
- 忽略单个文件:
target - 忽略所有
.log文件:*.log - 忽略整个文件夹:
bin/
- 忽略单个文件:
- 点击
OK。 - 被忽略的文件会显示为“未版本控制”状态,您需要提交这个
svn:ignore属性本身。
第七部分:分支与标签 (高级)
这是 SVN 的核心功能,用于支持并行开发和发布。
- 分支: 为项目创建一个独立的开发线,用于开发新功能或修复 Bug,而不会影响主分支(如
trunk),为“用户登录功能”创建一个login-branch。 - 为项目的某个特定版本(如 v1.0, v2.0)创建一个不可变的“快照”。
在 Eclipse 中操作:
- 右键点击项目 ->
Team->Branch/Tag...。 - From (源): 通常选择
HEAD(当前trunk的最新版本) 或一个特定的版本号。 - To (目标): 输入新的分支或标签的 URL。
- 创建分支:
svn://yourserver.com/project/branches/my-new-feature - 创建标签:
svn://yourserver.com/project/tags/v1.0
- 创建分支:
- 点击
Finish。
检出分支:
- 第三部分的“检出”操作同样适用于分支,在
Checkout Projects from SVN时,选择您的分支 URL 即可。
总结与最佳实践
- 先更新,后修改: 这是避免冲突的黄金法则。
- 小步提交: 频繁地提交小的、有意义的代码块,而不是一次性提交一大堆改动。
- 写好提交信息: 清晰的提交信息能让团队协作更高效。
- 善用忽略列表: 不要把编译产物、配置文件等纳入版本控制。
- 遇到冲突不慌: 这是正常现象,仔细比较和解决即可。
- 定期备份: SVN 服务器本身应该有备份策略。
希望这份详细的教程能帮助您在 Eclipse 中顺利地使用 SVN!
