如何在Subversion中忽略文件?

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


当前回答

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

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

其他回答

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

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

svn propset svn:ignore 'file1
file2' .

在你的工作副本上使用命令svn status来显示文件的状态,那些尚未处于版本控制(并且没有被忽略)的文件旁边会有一个问号。

至于忽略需要编辑svn:ignore属性的文件,请阅读svnbook中http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html的“忽略Unversioned Items”章节。本书还详细介绍了svn status的使用方法。

在TortoiseSVN中很容易管理SVN忽略。打开TortoiseSVN,右键单击文件菜单,然后选择添加到忽略列表。

这将在svn:ignore属性中添加文件。 当我们检入文件时,那些与svn:ignore匹配的文件将被忽略并且不会提交。

在Visual Studio项目中,我们添加了以下文件来忽略:

bin obj
*.exe
*.dll
*.pdb
*.suo

我们在Comparetrap的SVN上成功地使用了该方法管理源代码

您也可以在SVN的配置文件中设置全局忽略模式。

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

查看SVN属性中的ignore属性。

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