我刚开始使用SVN,在源代码控制下有一个不需要的缓存目录。如何忽略SVN的整个目录/文件夹?
我在OS X和命令行上使用版本和TextMate。
我刚开始使用SVN,在源代码控制下有一个不需要的缓存目录。如何忽略SVN的整个目录/文件夹?
我在OS X和命令行上使用版本和TextMate。
当前回答
设置父目录的svn:ignore属性:
svn propset svn:ignore dirname .
如果有多个内容要忽略,请在属性值中用换行符分隔。在这种情况下,使用外部编辑器编辑属性值更容易:
svn propedit svn:ignore .
其他回答
下面是一个目录结构示例:
\project
\source
\cache
\other
当在项目中,您看到您的缓存目录没有添加,并显示为这样。
> svn status
M source
? cache
若要设置ignore属性,请执行
SVN propset SVN:ignore cache。
其中svn:ignore是您正在设置的属性的名称,cache是属性的值,以及。是要设置此属性的目录。它应该是需要该属性的缓存目录的父目录。
检查设置了哪些属性:
> svn proplist
Properties on '.':
svn:ignore
查看svn的值:ignore:
> svn propget svn:ignore
cache
删除先前设置的属性。
svn propdel svn:ignore
如果您使用的是像TortoiseSVN这样的SVN前端,或者某种IDE集成,那么在提交/添加操作的菜单中也应该有一个忽略选项。
保存SVN将忽略的目录:
这将从存储库中删除文件,但将目录保持在SVN的控制下:
SVN delete——keep-local path/directory_to_keep/*
然后设置忽略目录(和所有内容):
SVN propset SVN:ignore“*”path/directory_to_keep
值得一提的是:
在命令行上不能使用
svn add *
这也将添加被忽略的文件,因为命令行展开*,因此svn add认为您希望添加所有文件。所以用这个代替:
svn add --force .
...如果您想忽略多个目录(比如build/ temp/和*.tmp文件),您可以分两步完成(忽略第一步并编辑忽略属性(参见这里的其他答案),或者可以编写如下内容
svn propset svn:ignore "build
temp
*.tmp" .
在命令行中。