起因:
由于项目中的IDE Jdeveloper在某些指定目录下面会生成server.xml以及common文件夹,且包含一个名为bc4j.xcfg的文件,每次当IDE设置发生变化,或者新建某些目录,这些文件都会被修改或者新增,而我不愿意将这些变化体现在SVN提交列表中.
正如SVN官方指南所言:如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作。(忽略文件和目录,忽略已经版本控制的文件)
不能忽略已添加至SVN的文件或目录,若要忽略,只能选择删除重新添加并以新增文件的方式被忽略。
正如官方指南所言:
由于项目中存在的server.xml以及common/bc4j.xcfg文件多而且分布复杂,一个个取取消并添加至忽略列表太麻烦,于是将整个过程分成了两步.
1.取消版本控制.
a.使用batch脚本删除本地的server.xml以及common/bc4j.xcfg(工作环境在window下)
脚本如下:
@REM ######################################################### @REM Name: 递归删除指定的目录,请把此文件放在你希望执行的那个目录 @REM Desciption: @REM Author: HONGBO @REM Date: 2016-03-06 @REM Version: 1.1 @REM Copyright: Up to you. @REM YOUR FILE PATH 中不能包含中文,否则便会直接遍历delCommon.bat脚本所在的磁盘 @REM ######################################################### @echo on setlocal enabledelayedexpansion @REM 设置你想删除的目录 @REM YOUR FILE PATH 中不能包含中文,否则便会直接遍历delCommon.bat脚本所在的磁盘 set folder_path=YOUR_FILE_PATH cd %folder_path% set WHAT_SHOULD_BE_DELETED=common for /r . %%a in (!WHAT_SHOULD_BE_DELETED!) do ( if exist %%a ( echo "delete"%%a rd /s /q "%%a" ) ) @REM /s 递归 @REM /q 静默 @REM call 与 不call都行 call del server.xml /s pause
b.提交删除,排除需要保留的文件
2.添加至忽略列表
在根目录建立server.xml 和common目录,此时有两种忽略方式,
i.本地忽略方式,不体现到整个SVN项目团队中.
使用SVN客户端的全局忽略样式 ,右键->设置->全局忽略样式 ,此时该两种文件仍然以问号文件的样式显示,但是在SVN提交时,这些文件会被忽略,不会体现在未控制版本的文件列表中.
ii.全局忽略方式,即服务端忽略方式,体现到整个SVN项目团队中
右键->增加至忽略列表->server.xml(recursively),此种方式会与服务端同步,整个团队的所有人将会同步此忽略,所有该两种文件会以忽略图标的样式显示.
如图:
若是在某些特定情况下被忽略的的文件或文件夹仍然需要提交,只需要将此文件像普通文件一样add, commit即可.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!