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