如何在TFS中始终阻止签入特定文件

时间:2012-03-16 17:38:48

标签: tfs

我总是会对一个文件进行更改,但我绝不想要检入。我希望TFS阻止我检查它或提交更改。如何配置TFS来执行此操作?

详细说明: 项目中有另一个开发人员检查了一些我喜欢在本地计算机上注释掉的错误代码。由于他们是客户,我更愿意将其作为技术练习,而不是将其作为政治练习。

8 个答案:

答案 0 :(得分:89)

TFS被低估的功能之一是cloaking。与SVN的ignore一样,隐藏真实内容会让您忽略某个文件夹或文件。

隐藏文件夹

隐藏文件夹很简单:只需右键单击源代码管理浏览器上的文件夹,然后选择Cloak

隐藏文件

用户界面不会在单个文件中显示隐藏真实内容,但有时您可能想隐藏某个文件,例如app.config

  1. 转到File> Source Control> Workspaces

  2. 选择您的工作区,然后点击Edit

  3. 在工作文件夹下,以及状态为Cloaked的新条目,并输入要隐藏的文件的完整服务器路径。 (例如:$/MyTeamProject/Dev/Src/SomeProject/app.config

  4. Cloaking a file


    使用本地工作区.tfignore文件(在TFS 2012,2013,2015及以上版本)

    Local Workspace中,您可以使用.tfignore文件(相当于G {的.gitignore

    .tfignore file example
     ######################################
    # Ignore .cpp files in the ProjA sub-folder and all its subfolders
    ProjA\*.cpp
    # 
    # Ignore .txt files in this folder 
    \*.txt
    #
    # Ignore .xml files in this folder and all its sub-folders
    *.xml
    #
    # Ignore all files in the Temp sub-folder
    \Temp
    #
    # Do not ignore .dll files in this folder nor in any of its sub-folders
    !*.dll
    

    按权限阻止

    另一种方法是拒绝签入文件 (需要管理权限):

    1. 右键单击文件>点击Properties> Security

    2. 添加您的用户并在Deny权限上标记Check In

    3. Deny Check In

答案 1 :(得分:12)

对于TFS 2012,只需使用 .tfignore 文件。

  

将忽略的文件添加到本地映射的文件夹中   工作区,它们不会出现在Team的Pending Changes页面中   资源管理器。

http://msdn.microsoft.com/en-us/library/ms245454.aspx

答案 2 :(得分:8)

Visual Studio 2013(及2012)

通过选择文件并转到:

可以使用此功能
File > Source Control > Advanced > Exclude ... from Source Control

答案 3 :(得分:4)

您可以从源代码管理

中排除该文件

<强> 1。在解决方案资源管理器中选择文件

<强> 2。转到文件 - &gt;源控制 - &gt;高级

Path To Exclude

这里是

Here is the Exclude

答案 4 :(得分:3)

有两种方式。

  1. 您可以在“待更改”窗口中“取消选中”它,然后在下次加载Visual Studio时记住它。如果您想“全选”并选中/取消选中列表中的项目并且容易出错,这有点麻烦。
  2. 不要“签出”文件,进入资源管理器并自行删除“只读”属性。然后编辑所需的位。需要注意的是,TFS不知道它,并不总是正确更新文件。此外,如果您在VS中编辑该文件(用于更改),它将被“签出”,然后您可能会错误地检查它。
  3. 我不喜欢TFS / VS 2010中的任何一个选项,所以我实际上避免这样做(当我们使用SVN时,我曾经有一个大的“忽略提交”)。现在我正在使用VS11 Beta,排除列表完全符合我的要求,我移动它并保留在那里,我可以轻松地将其他更改打开和关闭该列表,而不是检查该文件。

答案 5 :(得分:2)

另一个选择是使用自定义签入策略。您可build your ownForbidden Patterns Policy使用TFS 2010 Power Tools。当然你需要成为一名TFS管理员来安装它,它可能不是你想要的东西。此外,任何签到政策都可以被覆盖。

答案 6 :(得分:2)

如果您使用的是“本地”工作区类型,这是TFS 2012的新功能 - 您的源控制文件根本不设置为“只读”。但在这种情况下,无论您在何处编辑它们,TFS都会将其视为已更改并包含在待处理的更改中。如果默认情况下从挂起的更改中选择“自动排除”这样的选项会很棒。只有在你需要时才包括它们。

答案 7 :(得分:1)

如果您使用VS2010,则隐藏文件夹永远不会被TFS使用此功能检测为更改。 您不希望成为TFS一部分的文件夹将其标记为隐藏。