我刚开始使用SVN,在源代码控制下有一个不需要的缓存目录。如何忽略SVN的整个目录/文件夹?
我在OS X和命令行上使用版本和TextMate。
我刚开始使用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
其他回答
先把它拿掉……
如果你的目录foo已经在版本控制之下,首先删除它:
svn rm --keep-local foo
...然后忽略:
svn propset svn:ignore foo .
设置父目录的svn:ignore属性:
svn propset svn:ignore dirname .
如果有多个内容要忽略,请在属性值中用换行符分隔。在这种情况下,使用外部编辑器编辑属性值更容易:
svn propedit svn:ignore .
杰森的回答会管用的。然而,与其在缓存目录上将svn:ignore设置为“。”,不如在父目录的svn:ignore属性中包含“cache”,以防缓存目录不总是存在。我在一些“一次性”文件夹上这样做。
忽略多个条目的命令有点棘手,需要反斜杠。
svn propset svn:ignore "cache\
tmp\
null\
and_so_on" .
该命令将忽略当前目录中命名为cache、tmp、null和and_so_on的所有内容。
为了稍微扩展一下,如果您使用svn命令行工具执行此操作,您需要键入:
svn propedit svn:ignore path/to/dir
这将打开您选择的文本编辑器,然后键入'*'以忽略其中的所有内容,并保存+quit -这将包括svn中的目录本身,但忽略其中的所有文件,忽略目录,使用父目录的路径,然后在文件中键入目录的名称。保存后,运行更新('svn up'),然后检入相应的路径。