我使用 TortoiseSVN 1.7.9。
我如何在项目文件夹中忽略/删除/bin
文件夹中的内容?svn commit
我不想提交诸如.dll
,.pdb
等文件。
我在svn:ignore.dll
.pdb
属性中输入了条目,但它不起作用,当我执行提交时,这些文件仍然显示在列表中。
我不使用命令行客户端。在 Windows 资源管理器中,我右键单击根项目文件夹,然后单击 TortoiseSVN 上下文菜单中的提交。
我使用 TortoiseSVN 1.7.9。
我如何在项目文件夹中忽略/删除/bin
文件夹中的内容?svn commit
我不想提交诸如.dll
,.pdb
等文件。
我在svn:ignore.dll
.pdb
属性中输入了条目,但它不起作用,当我执行提交时,这些文件仍然显示在列表中。
我不使用命令行客户端。在 Windows 资源管理器中,我右键单击根项目文件夹,然后单击 TortoiseSVN 上下文菜单中的提交。
您可以在TortoiseSVN 手册和SVNBook中找到答案。
TortoiseSVN 手册告诉我们:
如果文件已经在存储库中,则必须将它们从存储库中删除并添加到忽略列表中。幸运的是,TortoiseSVN 有一个方便的快捷方式来执行此操作。TortoiseSVN → 取消版本并添加到忽略列表将首先将文件/文件夹标记为从存储库中删除,保留本地副本。它还将这个项目添加到忽略列表中,这样它就不会被错误地再次添加回 Subversion。完成后,您只需要提交父文件夹。
请参阅 SVNBook 的重要说明;它解释了您的行为以及“为什么它不起作用”。
Subversion 对可忽略文件模式的支持仅扩展到将未版本控制的文件和目录添加到版本控制的一次性过程。一旦对象在 Subversion 的控制之下,忽略模式机制就不再适用于它。换句话说,不要期望 Subversion 仅仅因为该文件的名称与忽略模式匹配而避免提交您对版本化文件所做的更改——Subversion 总是注意到它的所有版本化对象。
忽略所有项目中的 bin、obj 和 .suo 文件和用户文件。只需将它们添加到配置文件中:
C:\Users\[USERNAME]\AppData\Roaming\Subversion\config ( in windows )
找到 global-ignores 部分并添加以下内容:
global-ignores = *.suo bin obj *.csproj.user
基本答案:不要将已编译的库和二进制文件存储在您的源存储库中。这是一个源代码库!
你不能忽略 Subversion 控制下的东西,并且构建的项目不应该首先存储在 Subversion 中。删除它们,然后设置 asvn:ignore
在它们构建时忽略这些目录。这样,没有人会意外地重新提交这些构建的二进制文件。
如果您想存储二进制文件和库以供以后使用,请为此使用发布存储库。事实上,您甚至可以设置它,以便您的构建将自动从其他项目下载他们可能需要的 .dll。发布存储库可以像存储这些文件的另一个系统上的目录一样简单(并且可以复制到您的其他项目),或者像 Artifactory 或 Nexus 之类更复杂的东西(用于 Maven 和 Ivy 项目。我不认为 VS 和 C/C++ 项目有类似的东西)。
或者,您可以使用Jenkins进行构建,并将这些项目作为构建工件存储在 Jenkins 作业中。当有人需要它们时,他们可以通过 Jenkins 下载它们。