关于svn的添加忽略

本文介绍如何在使用Maven+Eclipse+SVN进行代码管理时,正确设置不需要纳入版本控制的目录和文件,如.settings、target等,并通过TortoiseSVN客户端实现。


 当我们在使用svn对代码进行管理的时候,往往有一些目录或文档是不需要添加到仓库中的。

这里我以maven+eclipse+svn为例:

1.在每个工程中往往只有src目录中的内容及pom.xml文件需要检入到svn仓库中。

2.在每个工程中eclipse会生成.settings目录及.project,.classpath文件,这个是本地的一些配置信息,是不需要检入的。

3.在每个工程中还会有target目录这是maven将src中的源代码编译所生成的编译文件。也是不需要检入的。

这个时候我们需要将.settings,target目录及.project,.classpath文件的检入忽略属性添加到仓库中。

这里我们通过TortoiseSVN客户端来设置工程中相关目录及文件的忽略,打开版本库浏览器,输入SVN仓库地址,找到项目的根目录,然后找到需要添加过滤信息的模块,点击右键选择[显示属性]。

 

在弹出的属性窗口中新键一个属性:[svn:ignore],将值设为要过滤的目录名及文件名,如:

target

.settings

.classpath

.project



 

添加完成以后,再从svn检出副本以后,设置过滤的目录及文件将不再提交的文件中出现。

<think>嗯,用户的问题是关于如何在SVN添加忽略列表来排除特定文件或目录的版本控制。用户可能是个开发者或者项目管理员,正在处理SVN仓库的配置问题。从用户提供的引用来看,ta已经查阅了一些资料,但需要更系统化的操作指导。 用户引用的资料里提到了几种方法:通过命令行修改svn:ignore属性、使用TortoiseSVN图形界面操作、以及直接编辑配置文件。不过引用[5]的内容似乎有些跑题了,讲的是云服务器镜像问题,可能与用户需求无关。 用户的核心诉求很明确:既要学会添加忽略规则,也要解决已入库文件的排除问题。特别注意到引用[1]专门提到“如何取消已版本控制文件的跟踪”,这说明用户很可能遇到了文件误提交的情况。引用[3]和[4]提供的忽略模式示例也很有参考价值。 考虑到用户可能使用不同操作环境,我准备分三部分回答:命令行操作给熟悉SVN命令的用户,图形界面给Windows用户,配置文件方案给需要全局设置的情况。特别要强调已入库文件的处理难点——这是很多用户容易踩坑的地方。 对于相关问题设计,应该覆盖用户后续可能遇到的延伸需求:如何验证忽略是否生效、如何取消忽略、团队协作时的注意事项等。引用[2]提到的父目录设置忽略模式就是个典型例子,需要特别说明。</think>在SVN中配置忽略列表以排除特定文件或目录的版本控制,可通过以下三种方式实现: --- ### **方法一:命令行操作(适用于所有SVN客户端)** 1. **添加忽略规则** 在目标目录执行命令,将需忽略的文件/目录加入`svn:ignore`属性: ```bash # 忽略单个文件 svn propset svn:ignore "filename" . # 忽略特定文件类型(如.log) svn propset svn:ignore "*.log" . # 忽略目录(如/temp) svn propset svn:ignore "temp" . ``` 2. **取消已版本控制的文件** 若文件已误提交到仓库,需先移除版本控制(保留本地文件): ```bash svn rm --keep-local 文件名 # 移除单个文件 svn rm --keep-local 目录名 # 移除整个目录 svn commit -m "移除忽略文件" # 提交变更 ``` 随后添加忽略规则(步骤同上)[^1][^3]。 --- ### **方法二:TortoiseSVN图形界面(Windows推荐)** 1. **添加忽略规则** - 右键点击需忽略的**文件/目录** → **TortoiseSVN** → **添加忽略列表** - 选择: - `文件名`:仅忽略当前文件 - `*.后缀`:忽略同类型文件(如`*.tmp`) - `目录名`:忽略整个目录[^3] 2. **取消已版本控制的文件** - 右键文件 → **TortoiseSVN** → **删除(保留本地副本)** → 提交变更 - 再按上述步骤添加忽略规则[^1] --- ### **方法三:编辑SVN配置文件(全局忽略)** 修改SVN全局配置,对**所有仓库生效**: 1. 找到配置文件: - Windows:`%APPDATA%\Subversion\config` - Linux/macOS:`~/.subversion/config` 2. 取消注释并修改`global-ignores`行: ```ini global-ignores = *.o *.lo *.la .DS_Store Thumbs.db __pycache__ /build /dist ``` 支持通配符(`*`)和目录名(如`/build`)[^4] --- ### **验证忽略是否生效** ```bash svn status --no-ignore # 被忽略的文件会显示"I"标识 ``` > **关键注意**: > - 忽略规则仅对**未纳入版本控制的文件**生效,已入库文件需先移除版本控制[^1][^3] > - 目录级忽略需在**父目录**设置`svn:ignore`属性[^2] > - 忽略模式遵循普通通配符规则(如`*.log`匹配所有日志文件)[^4] --- ### **常见忽略模式示例** ```ini # 操作系统临时文件 .DS_Store, Thumbs.db, desktop.ini # 编译产物 *.class, *.exe, /bin/, /build/ # 开发环境文件 .idea/, .vscode/, __pycache__/ # 日志与缓存 *.log, *.cache, *.tmp ``` [^4] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值