如何在Subversion中忽略文件?

另外,我如何找到不在版本控制下的文件?


当前回答

.gitignore式的方法

您可以忽略像.gitignore这样的文件或目录。只需创建一个你想忽略的目录/文件列表的文本文件,并运行下面的代码:

svn propset svn:ignore -F ignorelist.txt .

或者如果你不想使用文本文件,你可以这样做:

svn propset svn:ignore "first
 second
 third" .

来源:Karsten's Blog -从命令行设置svn:ignore多个文件

其他回答

svn status将告诉您哪些文件不在svn中,以及哪些文件发生了更改。

查看SVN属性中的ignore属性。

对于SVN的所有内容,红皮书都是必读的。

将目录添加到subversion,并忽略目录内容

svn propset svn:ignore '\*.*' .

or

svn propset svn:ignore '*' .

当使用propedit时,请确保没有任何尾随空格,因为这会导致文件被排除在忽略列表之外。

如果你在linux上使用tab-autocomplete来创建文件,这些会自动插入:

svn propset svn:ignore 'file1
file2' .

另一个解决方案是:

svn st | awk '/^?/{print $2}' > svnignore.txt && svn propget svn:ignore >> svnignore.txt && svn propset svn:ignore -F svnignore.txt . && rm svnignore.txt

或者一行一行

svn st | awk '/^?/{print $2}' > svnignore.txt 
svn propget svn:ignore >> svnignore.txt 
svn propset svn:ignore -F svnignore.txt . 
rm svnignore.txt

它的作用:

从svn中获取状态文件 保存所有文件?到svnignore.txt文件 获取已经被忽略的文件,并将它们追加到“svnignore.txt”文件中。 告诉svn忽略"svnignore.txt"中的文件 删除文件

使用以下命令创建一个不在版本控制文件下的列表。

svn status | grep "^\?" | awk "{print \$2}" > ignoring.txt

然后编辑该文件,只留下您想要忽略的文件。然后使用这个来忽略文件中列出的文件:

svn propset svn:ignore -F ignoring.txt .

注意行尾的点。它告诉SVN正在当前目录上设置属性。

删除文件:

rm ignoring.txt

最后提交,

svn ci --message "ignoring some files"

然后你可以通过以下方法检查哪些文件被忽略:

svn proplist -v