在tortoisesvn中排除日志和缓存文件需三步:一是设置全局忽略模式(如*.log、logs/等),使新文件自动标记为i状态;二是对已提交的目录用svn:ignore属性显式忽略;三是误提交文件需先delete再commit删除,最后验证图标状态与svn status结果。

直接在 TortoiseSVN 中排除日志文件和中间件缓存,核心是让 SVN 忽略这些自动生成、无需版本管理的文件。这类文件(如 .log、cache/、temp/、logs/)一旦被纳入版本控制,不仅污染提交记录,还容易引发冲突或泄露敏感信息。
全局忽略模式(推荐用于通用日志与缓存)
适用于所有工作副本,一次设置长期生效。适合排除常见日志后缀和缓存目录名:
- 右键任意空白处 → TortoiseSVN → Settings
- 左侧选 General → 找到 Global ignore pattern 输入框
- 粘贴以下常用忽略项(可按需删减):
*.log *.tmp *.cache *.swp *.lock logs/ temp/ cache/ .cache/ .logs/ *.out *.err - 点击 OK 保存。之后新检出或新增的匹配文件/文件夹将自动显示为 I (ignored) 状态,不会出现在提交列表中
对已有文件夹单独设置 svn:ignore(适合项目级缓存目录)
若 logs/ 或 cache/ 目录已被提交过,全局忽略无效,必须用属性方式显式忽略:
- 右键该文件夹(如
./logs)→ TortoiseSVN → Properties - 点击 New... → 选择 svn:ignore
- 在值中输入要忽略的内容(一行一个):
*.log
current.log
error.log
*
(最后一行*表示忽略该目录下所有内容) - 点击 OK → 再点 Apply properties
- 该目录图标会变成灰色加锁状,下次提交时它及内部文件将不再出现
清理已误提交的日志/缓存文件
如果日志或缓存文件已被提交进仓库,仅设忽略无法移除,需主动删除并提交变更:
- 右键对应文件或文件夹 → TortoiseSVN → Delete(不是系统删除)
- 执行 SVN Commit,提交删除操作
- 之后再配合上述忽略设置,防止再次误提
- 注意:删除前确认这些文件确无版本价值;生产环境日志通常不进仓库,开发调试用的临时日志也应一并清理
验证是否生效
设置完成后快速检查是否起作用:
- 新建一个
app.log文件 → 右键刷新,观察图标是否显示为普通文件(非绿色勾/红色感叹号),且状态为 unversioned - 进入提交窗口(右键 → SVN Commit),确认该文件未出现在列表中
- 命令行辅助验证:在工作副本根目录运行
svn status --no-ignore,被忽略项不会列出;加--ignore-externals可进一步排除干扰











