我正在使用VS2008和Resharper。 Resharper创建了一个名为_Resharper.ProjectName的目录。 我意识到这些文件对源代码控制没有任何价值,并导致提交更改时出现问题。 我该如何让SVN忽略它们? 我使用TortoiseSVN作为我的SVN界面。
编辑:你们速度真快。
我正在使用VS2008和Resharper。 Resharper创建了一个名为_Resharper.ProjectName的目录。 我意识到这些文件对源代码控制没有任何价值,并导致提交更改时出现问题。 我该如何让SVN忽略它们? 我使用TortoiseSVN作为我的SVN界面。
编辑:你们速度真快。
_Resharper.*
)添加到其父目录的svn:ignore
属性中。我会尽力为您提供帮助,以下是您需要翻译的内容:
在我打完这段话之后,我会发布一个关于我的问题的答案。在TortoiseSVN中,进入设置,添加。
*ReSharper*
关于“全局忽略模式”,您可以将文件添加到其中,这意味着对于安装有TortoiseSVN的客户端上的任何项目,这些文件都将被忽略,因此在某些情况下可能不适合使用全局忽略。
如果在将文件添加到存储库之前,您可以从TortoiseSVN菜单中选择将特定文件和目录添加到各个项目的忽略列表中。最初困扰我的是“BEFORE”部分。由于这是一个单一开发人员项目,我一直在检查二进制文件等,因为它对其他开发人员没有影响,并且Resharper文件也在其中。
将Resharper缓存存储在系统临时文件夹中。 在r#的第一个设置页面中检查。 环境 -> 一般 -> 系统 -> 存储缓存..
简短回答:使用“svn:ignore”属性
详细回答:
# cd /your/working/copy
# export EDITOR=vi
# svn propedit svn:ignore .
(在单独的一行上添加“_Resharper.ProjectName”,并将文件写出)
编辑:呃...糟糕,刚意识到你说的是Tortoise...这就是你如何使用SVN的命令行版本执行它
svn有一个“ignore”属性,您可以将其附加到文件名模式或目录上。被忽略的文件和目录不会在“svn st”命令中报告,并且不会进入版本库。
例如:您有C源代码在.c和.h文件中,但编译器创建了一堆.o文件,您不希望subversion打扰您。您可以使用Subversion的属性功能告诉它忽略这些文件。
对于一个检出的工作目录中的几个文件,例如myproject/mysource/
bash> svn propedit svn:ignore mysource
在弹出的文本编辑器中(在Linux中,可能是vi或您设置的任何EDITORS环境变量),每行添加一个文件名模式。不要在模式后面放置尾随空格(这会使svn混淆)。
*.o
*.bak
就这样。您可能希望立即提交,因为有时svn会对用户在提交之间对文件进行太多不同类型的更改而感到烦恼。(我的规则是:如果有疑问,请提交。这很便宜)
针对出现在庞大目录树中许多位置的文件类型,需要编辑存储在仓库内部的子版本配置文件。这需要仓库管理员的操作,除非您直接访问仓库(不通过svn:或http:或file:,但可以“cd”到仓库位置并“ls”其文件)。 SVN书籍应该有详细信息;我现在不记得了。本博客文章提供了一个示例,介绍如何通过命令行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。