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

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


当前回答

值得一提的是:

在命令行上不能使用

svn add *

这也将添加被忽略的文件,因为命令行展开*,因此svn add认为您希望添加所有文件。所以用这个代替:

svn add --force .

其他回答

忽略多个条目的命令有点棘手,需要反斜杠。

svn propset svn:ignore "cache\
tmp\
null\
and_so_on" .

该命令将忽略当前目录中命名为cache、tmp、null和and_so_on的所有内容。

由于我花了一些时间试图让它工作,因此应该注意,如果文件已经存在于SVN中,那么您需要在SVN中删除它们,然后编辑SVN:ignore属性。

我知道这是显而易见的,但他们总是以?在我的svn状态列表,当我认为它只是忽略他们在本地。

设置父目录的svn:ignore属性:

svn propset svn:ignore dirname .

如果有多个内容要忽略,请在属性值中用换行符分隔。在这种情况下,使用外部编辑器编辑属性值更容易:

svn propedit svn:ignore .

我有问题得到嵌套目录被忽略;我想忽略的顶部目录不会显示“svn status”,但所有的subdirs都显示了。这对其他人来说可能是不言而喻的,但我想分享一下:

例子:

/树干 /中继/缓存 /trunk/cache/subdir1 /trunk/cache/subdir2

cd /trunk
svn ps svn:ignore . /cache
cd /trunk/cache
svn ps svn:ignore . *
svn ci

设置svn:ignore属性。大多数UI svn工具都有办法做到这一点,以及链接中的命令行讨论。