svn ignore 的用法
2017-03-26 23:24 youxin 阅读(25992) 评论(0) 编辑 收藏 举报一个很简单的需求,我想在add一个文件时忽略里面某种格式的文件,怎么弄?
选中文件夹,然后tortoiseSvn->setting->
global ignore pattern:是客户端属性,一旦在这里设置,这台机子所有的svn版本库都会忽略这些文件。
我增加了画红线的部分:
*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db
*.tlog *.obj *.pch *.tlh *.tli *.pdb *.lastbuildstate *.Build.CppClean.log *.ipch
设置完后,再次点击add,显示要add的文件列表,发现我们设置的后缀都过滤掉了。
svn ignore 的用法(忽略文件及目录)
若想创建了一个文件夹,并且把它加入版本控制,但忽略文件夹中的所有文件的内容:
$ svn mkdir spool
$ svn propset svn:ignore '*' spool
$ svn ci -m 'Adding "spool" and ignoring its contents.'
若想创建一个文件夹,但不加入版本控制,即忽略这个文件夹:
$ mkdir spool
$ svn propset svn:ignore 'spool' .
$ svn ci -m 'Ignoring a directory called "spool".'
若已经创建了文件夹,并加入了版本控制,现在想忽略这个文件夹,但要保持文件夹的内容:
$ svn export spool spool-tmp
$ svn rm spool
$ svn ci -m 'Removing inadvertently added directory "spool".'
$ mv spool-tmp spool
$ svn propset svn:ignore 'spool' .
$ svn ci -m 'Ignoring a directory called "spool".'
如果想在SVN提交时,忽略某个文件,也就是某个文件不提交,可以使用
svn propedit svn:ignore命令。
下面详细介绍一下使用步骤。
单纯的看svn官方文档和一些网上搜索的资料,有时候真的不如亲自试验的好。
svn propedit svn:ignore 目录名称。
注意,在使用这个SVN的属性编辑前,你得确保后面的“目录名称”是SVN版本控制的目录。
如果要忽略此目录下的文件,可以如下操作。
比如,想忽略/product目录下的test.PHP文件。前提是/product目录必须在svn版本控制下,而test.php文件不在svn版本控制。
svn st先看一下状态,会显示如下:
? /product/test.php
我们需要将test.php文件加入忽略列表。
此时先设置SVN默认的编辑器
export SVN_EDITOR=vim
然后,使用svn propedit svn:ignore ,用法如下
svn propedit svn:ignore /product
此时会出现一个VIM的编辑窗口,表示需要将某个文件加入到忽略列表里
我们在编辑窗口中,写入
test.php
然后保存,并退出VIM编辑器。
这时候会有一个提示:属性 “svn:ignore” 于 “product” 被设为新值。
表示文件test.php的svn:ignore属性设置成功。
然后使用svn st查看,会显示:
M product
我们需要提交,然后这个svn:ignore属性才会起作用
svn ci -m '忽略test.php文件'
这时候,无论你如何修改test.php文件,再使用svn st时,也不会出现修改提示符合M了。
svn之svn:ignore命令行设置 http://www.cnblogs.com/ayanmw/archive/2012/03/16/2399976.html
svn propset <prop_name> <prop_value> <path> -- 设置属性
svn propget <prop_name> <path> -- 得到属性
svn propdel <prop_name> <path> -- 删除属性
svn propedit <prop_name> <path> -- 使用编辑器更改属性
svn proplist -v <path> -- 打印文件或目录的属性信息
版本相关的更改加入参数 --revprop -r <version>
2.添加至忽略列表
在根目录建立server.xml 和common目录,此时有两种忽略方式,
i.本地忽略方式,不体现到整个SVN项目团队中.
使用SVN客户端的全局忽略样式 ,右键->设置->全局忽略样式 ,此时该两种文件仍然以问号文件的样式显示,但是在SVN提交时,这些文件会被忽略,不会体现在未控制版本的文件列表中.
ii.全局忽略方式,即服务端忽略方式,体现到整个SVN项目团队中
右键->增加至忽略列表->server.xml(recursively),此种方式会与服务端同步,整个团队的所有人将会同步此忽略,所有该两种文件会以忽略图标的样式显示.
若是在某些特定情况下被忽略的的文件或文件夹仍然需要提交,只需要将此文件像普通文件一样add, commit即可.
svn global-ignores svn:ignore用法
vn:ignore、global-ignores区别:
1、svn:ignore:只对当前目录有效;
global-ignores:是全局有效,就是所有目前都有效;
2、svn:ignore:必须每个工作目录都要设置,个性化配置;
global-ignores:只需要配置一次,使用方便;
另一个忽略文件的方法是添加这些文件到globalignore list .他们最大的不同是全局忽略列表是一个客户端特性。它会作用到所有的(all)subversion 项目。但只能在pc客户端使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2016-03-26 J2EE MyBatis使用
2016-03-26 Spring Jdbc
2016-03-26 J2EE sitemesh使用
2014-03-26 Yii框架下不同contoller之间的方法调用
2013-03-26 转:和机器学习和计算机视觉相关的数学
2013-03-26 转:数据挖掘资料收集
2013-03-26 weka入门