我正在使用 VS2008 和 Resharper。Resharper 创建一个目录 _Resharper.ProjectName。据我所知,这些文件对源代码控制没有任何价值,并且在提交更改时会导致问题。我怎样才能让 SVN 忽略它们?我使用 TortoiseSVN 作为 SVN 的界面。

编辑:你们真快啊

有帮助吗?

其他提示

添加文件名(甚至模式 _Resharper.*)到 svn:ignore 其父目录的属性。

当我输入此内容后阅读手册时,我将在这里发布我自己的问题的答案。在 TortoiseSVN 中,转到设置。添加

*ReSharper*

到“全局忽略模式”。将项目添加到全局忽略模式意味着对于安装了 TortoiseSVN 的客户端所处理的任何项目,这些文件都将被忽略,因此在所有情况下使用全局忽略可能并不合适。

如果在将特定文件和目录添加到存储库之前从 TortoiseSVN 菜单中选择此选项,您还可以将特定文件和目录添加到各个项目的忽略列表中。“之前”部分最初是让我绊倒的。由于这是一个单一开发人员项目,因此我一直在检查二进制文件等。b/c 它对其他开发人员没有任何影响,Resharper 文件也进入其中。

将 Resharper 缓存存储在系统临时文件夹中。检查 r# 中的第一个设置页面。环境 -> 常规 -> 系统 -> 存储缓存..

查看此答案,了解将 Resahrper 缓存存储在系统 TEMP 文件夹中。

这样你甚至不能意外地将它添加到任何版本控制系统 - 不仅仅是 SVN。

简短回答:“svn:ignore”属性

长答案:

# cd /your/working/copy
# export EDITOR=vi
# svn propedit svn:ignore .

(在其自己的行上添加“_Resharper.ProjectName”并将文件写出)

编辑:尔格...呵呵,才发现你说的是乌龟……这就是使用 SVN 命令行版本执行此操作的方法

svn 有一个“忽略”属性,您可以将其附加到文件名模式或目录。被忽略的文件和目录不会在“svn st”命令中报告,也不会进入存储库。

例子:你在 .c 和 .h 文件中有 C 源代码,但是编译器创建了一堆你不希望 subversion 费心告诉你的 .o 文件。您可以使用 Subversion 的属性功能来告诉它忽略这些。

对于一个检出工作目录中的几个文件,例如 myproject/mysource/

bash> svn propedit svn:忽略 mysource

在弹出的文本编辑器中(在 Linux 中,可能是 vi 或您的编辑器环境变量设置的任何内容),每行添加一个文件名模式。不要在模式后面添加尾随空格(这会使 svn 感到困惑)。

*.o
*.bak

就这样。您可能想立即进行提交,因为有时 svn 会对用户在提交之间对文件进行太多不同类型的更改感到挑剔。(我的规则是:如果有疑问,请提交。很便宜)

对于出现在庞大目录树中许多位置的文件类型,请编辑存储库中保存的 subversion 配置文件。这需要存储库管理员的操作,除非您可以直接访问存储库(不通过 svn:或http:或 file:,但可以“cd”到存储库位置并“ls”其文件)。svn 书籍应该有详细信息;我现在不记得了。

由于我不使用 Tortoise,我不知道上面的描述如何直接翻译 - 但这就是为什么我们有可编辑的答案(高兴!)

这篇博文提供了一个关于如何通过命令行 svn 执行您想要的操作的示例。http://sdesmedt.wordpress.com/2006/12/10/how-to-make-subversion-ignore-files-and-folders/

这些变化将反映在TortoiseSVN中。

我相信有一种方法可以通过 tortoise 来做到这一点,但是我没有可访问的 Windows 虚拟机,抱歉:(

SVN 仅控制您在创建存储库时放入其中的内容。不要只导入整个项目文件夹,而是在构建之前导入一个“干净”的文件夹。构建后,您将获得所有目标文件或 _Resharper 文件夹等。但它们不受版本控制。

我忘了:这

svn:ignore
命令是告诉 SVN 排除某些文件的另一种可能性。您可以将其作为属性添加到版本控制文件夹中,例如与 TortoiseSVN 一起使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top