使用tortoisesvn排除编译临时文件的核心是合理配置忽略规则:对未纳入版本控制的文件通过svn:ignore属性设置自动忽略,对已提交的需先删除再忽略,还可配置全局忽略模式统一管理。

使用 TortoiseSVN 排除编译生成的临时文件,核心是利用 忽略规则(ignore),避免这些文件被纳入版本控制,从而不参与提交。关键在于区分“已纳入版本控制”和“未纳入版本控制”的文件,并针对性设置。
设置新文件自动忽略(推荐用于未加入版本库的临时文件)
对尚未被 SVN 管理的文件(如 .obj、.exe、bin/、obj/、Debug/ 等),可在资源管理器中右键 → TortoiseSVN → Properties,或直接右键目标文件/文件夹 → TortoiseSVN → Add to ignore list。
- 选择 “Add to ignore list” 后,TortoiseSVN 会自动在父目录的
svn:ignore属性中添加匹配模式(如bin、*.pdb) - 支持通配符:
*匹配任意字符,**可跨目录(需 SVN 1.8+ 且客户端支持),但多数情况下用bin、obj、*.log等简单模式更稳妥 - 设置后需提交父目录的属性变更(即提交
svn:ignore值),其他协作者更新后才能生效
批量清理已误提交的临时文件
如果临时文件已被提交(状态为 “已纳入版本控制”),仅设 ignore 不起作用——SVN 仍会跟踪它们。必须先从版本库中移除,再忽略:
- 选中要排除的文件或文件夹 → 右键 → TortoiseSVN → Delete(不是 Windows 删除)→ 提交该删除操作
- 删除成功后,再对对应路径执行 “Add to ignore list”,防止下次重新被加入
- 注意:删除操作会从工作副本和版本库中移除文件,确保它们确实无需保留(如生成的 DLL、PDB 通常可删)
全局忽略设置(适用于所有工作副本)
对于通用临时文件(如 .user、.suo、*.swp),可在 TortoiseSVN 全局设置中统一配置,避免每个项目重复操作:
- 右键任意空白处 → TortoiseSVN → Settings → 左侧选 “General” → 找到 “Global ignore pattern”
- 在输入框中添加空格分隔的模式,例如:
bin obj *.suo *.user *.pdb *.dll Debug Release *.log - 该设置只影响 未被版本控制的新文件,不影响已提交的文件,也不能替代项目级
svn:ignore
验证忽略是否生效
设置完成后,可通过以下方式确认:
- 刷新资源管理器,被忽略的文件应显示为“未受版本控制”且图标无覆盖小图标(或显示灰色问号)
- 右键工作副本 → TortoiseSVN → Check for modifications,确认列表中不再出现目标临时文件
- 命令行可运行
svn status --no-ignore查看被 ignore 规则匹配但未纳入控制的文件(带I标记)











