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

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


当前回答

感谢以上所有的贡献。我只是想分享一些额外的信息,从我的经验忽略文件。


当文件夹已经处于修订控制之下时

在svn导入和svn co文件后,我们通常第一次做什么。

所有运行时缓存、附件文件夹都将受到版本控制。 因此,在SVN ps SVN:ignore之前,我们需要从存储库中删除它。

在SVN 1.5版本以上,我们可以使用SVN del——keep-local your_folder, 但对于早期版本,我的解决方案是:

SVN导出文件夹的干净副本(没有.svn隐藏文件夹) SVN del本地和存储库, svn ci 复制文件夹 是否svn st并确认文件夹被标记为“?” 现在我们可以根据解做svn ps了


当我们需要忽略多个文件夹时

在一个目录下,我有两个文件夹需要设置为svn:ignore 如果我们设置了一个,另一个就会被移除。 然后我们想知道我们是否需要svn

SVN PE需要编辑文本文件,如果需要设置文本编辑器,可以使用该命令:

export SVN_EDITOR=vi

用“o”你可以打开一个新的行 输入要忽略的所有文件夹名称 按“esc”键退出编辑模式 输入“:wq”,然后按Enter键保存并退出

该文件看起来就像这样:

runtime
cache
attachments
assets

其他回答

因为你使用的是版本,它实际上非常简单:

浏览签出的副本 单击要忽略的目录 在右侧的“忽略”框中单击“编辑” *类型。*忽略所有文件(或*. JPG仅用于JPG文件,等等)

如果您正在使用特定的SVN客户端TortoiseSVN,那么在提交时,您可以选择右键单击项目并选择“添加到忽略列表”。

杰森的回答会管用的。然而,与其在缓存目录上将svn:ignore设置为“。”,不如在父目录的svn:ignore属性中包含“cache”,以防缓存目录不总是存在。我在一些“一次性”文件夹上这样做。

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

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

\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