从TFS服务器工作区中排除文件

时间:2015-08-12 14:14:02

标签: c# .net visual-studio-2013 tfs2012

我们刚刚在公司实施了TFS,我不小心包含了bin和obj文件夹。我想排除它们。我在Google上搜索过,基本上找到了两种方法来实现这个目标:

1)https://msdn.microsoft.com/en-us/library/66tw9ezk(v=vs.90).aspx

在Visual Studio中,打开“解决方案资源管理器”并选择要排除的文件。 在文件菜单上,单击源代码管理,然后单击从源代码管理中排除。 当您准备将文件置于源代码管理下时,可以访问“文件”菜单并单击“源代码管理”,然后取消选中“从源代码管理中排除”。

在我的文件>源代码管理中,我没有看到从源代码管理中排除或在高级版本中排除。

2)How do I permanently exclude the bin and obj folders from TFS 2012 checkin?

我尝试添加.tfignore,但我无法通过扩展程序'忽略文件'忽略文件'等等。据我所知,这仅适用于本地工作空间而不适用于服务器工作空间。

我们设置解决方案,以便在文件被更改时签出文件,因此当有人构建项目时,他获取了对dll的独占锁定,然后没有其他人能够编译。

2 个答案:

答案 0 :(得分:1)

根据我的个人经验,实现这一目标的最简单方法如下:

  1. 查看 - >团队资源管理器(Ctrl + \,Ctrl + M)
  2. 点击待更改
  3. 包含的更改列表中,右键单击所需的文件夹。
  4. 点击排除
  5. 排除的更改现在应显示在下面的排除的更改列表中。

答案 1 :(得分:1)

在Mike描述的步骤之后,您可以进一步定义忽略规则。撤消对要排除的文件的挂起更改,然后单击“排除的更改”下显示的“检测到的:123”链接。

这打开了一个新窗口,您可以无限期地忽略这些更改。它通过创建.tfignore文件并将其添加到源代码管理来实现此目的。 UI的替代方法是手动创建此文件并将其签入。这可能会阻止团队资源管理器显示与忽略文件中的模式匹配的文件。

确保从源代码管理中删除这些文件,如果他们被意外检查,您可以销毁它们以确保它们真正消失。您需要使用tf destroy

从命令行执行此操作

当您使用远程项目规范销毁它们时,对Destroy的调用不会删除您的本地文件:

C:\>tf destroy /collection:http:
//jessehouwing:8080/tfs/DefaultCollection $/Scrum/test.txt.txt /noprompt
Destroyed: $/Scrum/test.txt.txt

C:\Program Files (x86)\Microsoft Visual Studio 14.0>dir "c:\Workspaces\Local\Scrum"
 Volume in drive C has no label.
 Volume Serial Number is 008A-AC5B

 Directory of c:\users\jhouw\Source\Workspaces\Local\Scrum

12-08-2015  20:12    <DIR>          .
12-08-2015  20:12    <DIR>          ..
12-08-2015  20:12                 0 test.txt.txt
               1 File(s)              0 bytes
               2 Dir(s)  297.229.512.704 bytes free

执行tf get /collection:http: //jessehouwing:8080/tfs/DefaultCollection $/Scrum /recursive后,确实会删除它。如果在下一次构建期间重新生成有问题的文件,这不应该是一个问题。

Promote Candidate Changes window where you can select Ignore

另见:

如果您正在使用服务器工作区,我能想到的唯一方法是为您的源代码管理存储库设置Forbidden Path签入策略。它是Team Foundation Server Power Tools的一部分;您需要在所有开发人员的计算机上安装与Visual Studio版本相匹配的电动工具版本。

注意:这些使用正则表达式,因此您需要调整模式以匹配;)。

enter image description here