我刚开始使用SVN,在源代码控制下有一个不需要的缓存目录。如何忽略SVN的整个目录/文件夹?

我在OS X和命令行上使用版本和TextMate。


当前回答

也要注意后面的斜杠。我发现在我的忽略设置文件中包含images/*不会忽略./images/。当我运行svn status -u时,它仍然显示?图像。我把忽略设置改成只有图像,没有斜杠。做了状态检查,清除了。

其他回答

如果您使用的是像TortoiseSVN这样的SVN前端,或者某种IDE集成,那么在提交/添加操作的菜单中也应该有一个忽略选项。

如果项目目录名为/ project,缓存目录名为/ project / cache,则需要在/ project上设置subversion属性。属性名为“svn:ignore”,属性值为“Cache”。

有关属性的更多信息,请参阅Subversion手册中的此页。

为了稍微扩展一下,如果您使用svn命令行工具执行此操作,您需要键入:

svn propedit svn:ignore path/to/dir

这将打开您选择的文本编辑器,然后键入'*'以忽略其中的所有内容,并保存+quit -这将包括svn中的目录本身,但忽略其中的所有文件,忽略目录,使用父目录的路径,然后在文件中键入目录的名称。保存后,运行更新('svn up'),然后检入相应的路径。

在父目录上设置svn:ignore属性:

$ cd parentdir
$ svn ps svn:ignore . 'cachedir'

这将覆盖svn:ignore的任何当前值。你可以编辑值:

$ svn pe svn:ignore .

这将打开您的编辑器。您可以添加多个模式,每行一个。

您可以通过以下命令查看当前值:

$ svn pg svn:ignore .

如果你使用的是GUI,应该有一个菜单选项来做这件事。

下面是一个目录结构示例:

\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