如何忽略已添加到svn存储库的文件?
我想排除文件config.php:
$ svn st
M .
M config.php
M adminfunctions.php
所以,我使用:
$ svn propedit svn:ignore .
并将config.php添加到列表中。
然后,如果我再做一次svn st,我第一次也会这样:
$ svn st
M .
M config.php
M adminfunctions.php
现在不会排除config.php吗?
提前致谢!
答案 0 :(得分:17)
svn:ignore仅影响尚未添加的文件。
因此,在您的情况下,您必须使用svn del
从存储库中删除文件 - 不要忘记将它们临时复制到其他位置)。将文件复制回原始目录后,svn不会将它们标记为新的(并尝试添加它们)。
编辑:
或者,正如@Blake所评论的那样,当您执行--keep-local
而不是将文件复制到其他位置时,可以使用svn del
选项。
答案 1 :(得分:1)
这是我遇到的问题以及希望它对某人有用的解决方案。
假设您在'D'目录中有'a,b,c'文件。
您从工作副本中删除'a,b,c'文件,并将'svn:ignore *'属性/值添加到'D'目录并将这些更改提交为修订版1234.之后如果您在工作副本的“D”目录中放回相同的“a,b,c”文件,然后svn仍将'a,b,c'文件视为未版本。
解决此问题:
现在,'a,b,c'被svn视为忽略。