Tortoise SVN:如何忽略提交中的bin内容

问题描述 投票:16回答:4

我使用TortoiseSVN 1.7.9。

当我/bin项目文件夹时,如何忽略/删除svn commit文件夹中的内容?我不想提交.dll.pdb等文件。

我把.dll .pdb条目放在svn:ignore属性中,但它不起作用,当我执行提交时,这些文件仍然显示在列表中。

我不使用命令行客户端。在Windows资源管理器中,我右键单击根项目文件夹,然后在TortoiseSVN上下文菜单中单击提交。

svn version-control tortoisesvn svnignore
4个回答
21
投票

你可以在TortoiseSVN manualSVNBook找到答案。

TortoiseSVN手册告诉我们:

如果文件已存在于存储库中,则必须从存储库中删除它们并将其添加到忽略列表中。幸运的是TortoiseSVN有一个方便的快捷方式。 TortoiseSVN→Unversion和添加到忽略列表将首先将文件/文件夹标记为从存储库中删除,保留本地副本。它还将此项添加到忽略列表中,以便不会再错误地将其添加回Subversion。完成此操作后,您只需提交父文件夹即可。

参见SVNBook的重要说明;它解释了你的行为和“为什么它不起作用”。

Subversion对可忽略文件模式的支持仅扩展到将未版本控制的文件和目录添加到版本控制的一次性过程。一旦对象受Subversion的控制,忽略模式机制就不再适用于它。换句话说,不要指望Subversion避免提交您对版本化文件所做的更改,因为该文件的名称与忽略模式匹配 - Subversion始终注意到其所有版本化对象。


12
投票

忽略所有项目中的bin,obj和.suo文件以及用户文件。只需将它们添加到配置文件中:

C:\Users\[USERNAME]\AppData\Roaming\Subversion\config ( in windows )

找到global-ignores部分并添加以下内容:

global-ignores = *.suo bin obj *.csproj.user

3
投票

基本答案:不要将已编译的库和二进制文件存储在源存储库中。这是一个源代码库!

您不能忽略Subversion控件下的内容,并且构建的项目不应该首先存储在Subversion中。删除它们,然后设置svn:ignore以在构建时忽略这些目录。这样,没有人意外地重新发送这些构建的二进制文件。

如果要存储二进制文件和库以供以后使用,请使用发行版存储库。实际上,您甚至可以对其进行设置,以便您的构建版本能够自动下载其他项目可能需要的内容。发布存储库可以像存储这些文件的另一个系统上的目录一样简单(可以复制到其他项目中),也可以像Artifactory或Nexus那样复杂(用于Maven和Ivy项目。我不是认为VS和C / C ++项目有类似的东西)。

或者,您可以使用Jenkins进行构建,并将这些项目存储为Jenkins作业中的构建工件。当有人需要它们时,他们可以通过Jenkins下载它们。


1
投票

您可以忽略全局级别的目录和文件。但是,如Calciol的答案中所述,您可以使用“设置”对话框,而不是黑客攻击配置文件:

enter image description here

要启动“设置”对话框:

  • 开始菜单:TortoiseSVN ==>设置。
  • 在资源管理器中右键单击以显示上下文菜单。 TortoiseSVN ==>设置。

更改在申请后立即生效。

© www.soinside.com 2019 - 2024. All rights reserved.