乌龟SVN:如何忽略提交中的bin文件夹内容

18
我使用 TortoiseSVN 1.7.9。
当我执行 svn commit 项目文件夹时,我想要忽略或删除 /bin 文件夹中的内容,如 .dll.pdb 等文件,以便不提交它们。
我将 .dll.pdb 的条目加入 svn:ignore 属性中,但是它没有起作用,这些文件仍然在提交列表中显示。
我不使用命令行客户端,在 Windows Explorer 中,我右键单击根项目文件夹并单击 TortoiseSVN 上下文菜单中的提交。

3
您可以将"bin"文件夹添加到忽略列表中。右键单击"bin"文件夹-> TortoiseSVN-> 取消版本控制并添加到忽略列表-> "bin". - Felipe Oriani
4个回答

24
您可以在TortoiseSVN手册SVNBook中找到答案。
TortoiseSVN手册告诉我们: 如果文件已经在版本库中,它们必须从版本库中删除并添加到忽略列表中。幸运的是,TortoiseSVN有一个方便的快捷方式来完成这个过程。TortoiseSVN → Unversion and add to ignore list将首先标记要从版本库中删除的文件/文件夹,保留本地副本。它还将此项添加到忽略列表中,以免错误地再次将其添加回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
我不想将此设置为全局设置,因为在某些存储库中,我确实希望保留源代码控制中的 bin 目录。如何忽略特定存储库中的所有 bin 和 obj 目录? - Dai
乌龟同步这些设置需要时间吗?我已经进行了更改,但仍然包括bin和obj路径。真是个头疼的问题。 - eaglei22
不,它不需要任何时间(在我的 Windows 10 计算机上)。 - Calciol

5
您可以在全局级别上忽略目录和文件。但是,不需要像Calciol的答案中描述的那样修改配置文件,您可以使用“设置”对话框:

enter image description here

打开“设置”对话框的方法:

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

应用更改后立即生效。


3
基本回答:不要在源代码库中存储编译后的库和二进制文件。这是一个源代码库!
你不能忽略Subversion控制下的内容,构建项也不应首先存储在Subversion中。删除它们,然后设置svn:ignore以忽略这些目录在构建时。这样,没有人会意外地重新提交这些构建的二进制文件。
如果您想将二进制文件和库存储以备将来使用,请使用发布存储库。实际上,您甚至可以设置它,以便您的构建将自动从其他项目下载所需的.dlls。发行存储库可以是另一个系统上存储这些文件的简单目录(可以复制到其他项目中),也可以是Artifactory或Nexus之类的更复杂的东西(用于Maven和Ivy项目。我认为VS和C / C ++项目没有类似的东西)。
或者,您可以使用Jenkins进行构建,并将这些项目作为构建工件存储在Jenkins作业中。当有人需要它们时,他们可以通过Jenkins下载它们。

5
但是subversion增加了bin文件夹,这并不是我们告诉它要这么做的。bin文件夹位于源代码结构的根目录下,因此它只添加了根目录下的每个文件夹。我们知道它是一个源代码库!现在我们要告诉它不包括非源代码文件。我来这里是因为我也遇到了同样的问题。 - Tony_Henrich
如果您正在使用VisualStudio,请通过Visual Studio使用Subversion。获取[AnkhSVN](https://ankhsvn.open.collab.net)。 AnkSVN不会自动添加“/ bin”文件,因为它知道不应将VisualStudio文件放入源代码控制中。您可以在此处查看有关[通过VisualStudio使用TortoiseSVN的信息](http://tortoisesvn.net/visualstudio.html)。您还可以尝试[VisualSVN](http://www.visualsvn.com/visualsvn/),但这必须是付费专有许可证。 - David W.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接