Svn 如何在Subversion下包含/排除特定类型的文件?

Svn 如何在Subversion下包含/排除特定类型的文件?,svn,version-control,Svn,Version Control,我对include/exclude术语感到困惑,而我实际的SVN客户端似乎没有(或者我一直无法轻松找到)一个简单的选项来添加或删除特定类型的文件以进行版本控制 例如,我添加了整个VisualStudio文件夹,其中包含解决方案、项目、调试文件等,但我只想对实际的源文件进行版本设置。最简单的方法是什么?在最低级别,SVN允许您忽略具有属性的某些文件或模式。SVN的VS加载项(如)将代表您自动忽略这些文件。如果正在使用,可以在资源管理器中的文件和文件夹上单击鼠标右键,然后选择“添加到忽略列表”。这可

我对include/exclude术语感到困惑,而我实际的SVN客户端似乎没有(或者我一直无法轻松找到)一个简单的选项来添加或删除特定类型的文件以进行版本控制


例如,我添加了整个VisualStudio文件夹,其中包含解决方案、项目、调试文件等,但我只想对实际的源文件进行版本设置。最简单的方法是什么?

在最低级别,SVN允许您忽略具有属性的某些文件或模式。SVN的VS加载项(如)将代表您自动忽略这些文件。如果正在使用,可以在资源管理器中的文件和文件夹上单击鼠标右键,然后选择“添加到忽略列表”。

这可以使用
~/.subversion/config
文件中的属性或全局忽略属性来实现。(滚动到第一个链接的顶部,查看有关编辑属性的说明。)


通过在目录上使用
svn propset
svn propedit
,您将能够使Subversion忽略特定目录中与该模式匹配的所有文件。但是,如果您在
~/.subversion/config
[杂项]
部分中更改全局忽略,subversion将忽略这些文件,无论它们位于何处。

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

排除特定的文件类型,您可能是最安全的,而不是选择那些你想包括的,因为你可以添加一个新的类型,而不知道它没有版本

在每个目录的基础上,您可以编辑属性

为每个相关目录打开一个编辑器,其中包含要忽略的模式列表

然后在每一行上放置一个模式,对应于要忽略的文件类型:

*.user
*.exe
*.dll
你有什么

或者,正如建议的那样,您可以将这些模式添加到~/.subversion/config文件(或Windows上的
%APPDATA%\subversion\config”
中的
全局忽略
属性中-请参阅)。在这种情况下,请用空格分隔图案。这是我的<代码>#在行首引入注释。我忽略了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
见博客文章

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


这篇博文介绍了命令行的内容,但我相信无论您使用什么客户端,它都能正常工作。

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

要添加到TortoiseSVN的全局忽略设置,请右键单击项目文件夹TortoiseSVN。。。设置。。。将军。。。在Subversion区域,您可以编辑“全局忽略模式”。是否可以为每个项目添加忽略?就像git一样。在git中,您将ignore文件放在项目根目录中,并且优先于全局ignore。
### 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