你如何在Subversion中包含/排除某种types的文件?

我感到困惑与包含/排除行话,我的实际SVN客户端似乎并没有(或我一直无法find它很容易)一个简单的选项来添加或删除某些types的文件的版本控制。

比方说,我已经添加了整个Visual Studio文件夹及其解决scheme,项目,debugging文件等,但我只想对实际的源文件进行版本化。 最简单的方法是什么?

你可能最安全的是排除特定的文件types,而不是select你想要包含的文件types,因为你可以添加一个新的types,但没有意识到它没有版本化。

在每个目录的基础上,你可以编辑svn:ignore属性。

svn propedit svn:ignore . 

为每个相关目录调出一个模式列表的编辑器忽略。

然后在每行对应的文件types,你想忽略一个模式:

 *.user *.exe *.dll 

你有什么

或者,如上所述,您可以将这些模式添加到您的〜/ .subversion / config文件中的global-ignores属性(或Windows上的"%APPDATA%\Subversion\config" – 请参阅红豆本书中的configuration区域布局了解更多信息 )。 在这种情况下,用空格分隔图案。 这是我的。 在行首开始引入评论。 我忽略了Ankh .Load文件和所有* .resharper.user文件:

 ### Set global-ignores to a set of whitespace-delimited globs ### which Subversion will ignore in its 'status' output, and ### while importing or adding files and directories. # global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store global-ignores = Ankh.Load *.resharper.user 

这可以使用svn:ignore属性或者在~/.subversion/config文件中的global-ignores属性来实现。 (滚动到第一个链接的顶部,查看有关编辑属性的说明。)

通过在一个目录上使用svn propset或者svn propedit ,你可以让Subversion忽略在特定目录下匹配那个模式的所有文件。 如果你在~/.subversion/config[miscellany]部分改变global-ignores,Subversion会忽略这些文件,无论它们位于何处。

看博客文章svn:忽略

我知道使用TortoiseSVN,我可以点击一个根文件夹,我有东西签出,并可以通过select“属性”菜单项添加任意属性。 在这种情况下,您只需指定要排除的文件模式。

命令行的东西的博客文章,但我相信它会适用于任何客户端使用。

在最低级别,SVN允许你用svn:ignore属性忽略某些文件或模式。 SVN的VS加载项(如VisualSVN)将自动忽略这些文件。 如果您使用的是TortoiseSVN ,则可以在资源pipe理器中右键单击文件和文件夹,然后select添加到忽略列表

另一种方法是,在使用TortoiseSVN时,可以select“提交…”,然后右键单击文件并移动到“忽略提交”的更改列表。

使用svn:ignore属性,可以使用通配符。