TFS排除目录 - .tfignore不工作,它是一个非常大的目录

时间:2015-07-07 12:58:11

标签: tfs

我看过其他帖子并在stackoverflow上阅读 - How to ignore files/directories in TFS for avoiding them to go to central source repository?

然而,这似乎不起作用。

我有一个名为/ FS的根文件夹,在该目录中我有以下内容.tfignore

    ################################################################################
# This .tfignore file was automatically created by Microsoft(R) Visual Studio.
#
# Local items matching filespecs in this file will not be added to version
# control. This file can be checked in to share exclusions with others.
#
# Wildcard characters are * and ?. Patterns are matched recursively unless the
# pattern is prefixed by the \ character.
#
# You can prepend a path to a pattern to make it more specific. If you do,
# wildcard characters are not permitted in the path portion.
#
# The # character at the beginning of a line indicates a comment.
#
# The ! prefix negates a pattern. This can be used to re-include an item after
# it was excluded by a .tfignore file higher in the tree, or by the Team
# Project Collection's global exclusions list.
#
# The / character is interpreted as a \ character on Windows platforms.
#
# Examples:
#
#  # Excludes all files ending in .txt in Alpha\Beta and all its subfolders.
#  Alpha\Beta\*.txt
#
#  # Excludes all files ending in .cpp in this folder only.
#  \*.cpp
#
#  # Excludes all files ending in .cpp in this folder and all subfolders.
#  *.cpp
#
#  # If "Contoso" is a folder, then Contoso and all its children are excluded.
#  # If it is a file, then only the "Contoso" in this folder is excluded.
#  \Contoso
#
#  # If Help.exe is excluded by a higher .tfignore file or by the Team Project
#  # Collection global exclusions list, then this pattern re-includes it in
#  # this folder only.
#  !\Help.exe    
#
################################################################################

\BRAND
\CO
\COVER
\COVERBANNER
\DEPT
\DEPT-CATS
\LIB
\PRODUCTS

但是,TFS一直在尝试添加这些目录。我甚至在根目录下有另一个.tfignore

/ FS

我只需要/ FS退出TFS。这是15GB不属于SOURCE控件的图像,我们有多个区域可以备份这些图像,这是非常资源密集的创建分支。

我是否需要使用CMD PROMPT从TFS中删除/ FS?任何帮助都会很棒。我只是感到沮丧和困惑。

2 个答案:

答案 0 :(得分:1)

我认为.tfignore与本地和服务器工作区的工作方式相同,所以:

是的,您必须从源代码管理中删除\FS,但是从团队资源管理器执行此操作就足够了。 在.tfignore的父目录中添加\FS。 这将确保您的\FS文件夹不会处于源代码管理中,并在您创建新分支时被复制。

答案 1 :(得分:0)

这是一篇旧文章,但是由于我遇到了同样的问题并最终找到了答案,所以我还是提供了答案:

有人评论说.tfignore仅适用于本地工作空间->这是正确的

在当前文件夹(.tfignore文件所在的位置)中排除整个子文件夹的语法可以是以下任意一种:

  • /子文件夹
  • \子文件夹

如果要排除子文件夹的子文件夹或文件的子文件夹,可以是那些文件夹或类似文件(取决于要过滤的内容):

  • / subfolder / subsubfolder
  • \ subfolder \ subsubfolder
  • / subfolder / *。txt
  • \ subfolder * .txt

值得注意的是,tf.exe有一些奇怪的怪癖,如果不正确,.tfignore中的任何内容都不会生效,并且您不会收到任何可见的错误消息(可能隐藏在某些日志中的某个位置,不确定)。起初我以为行尾有问题,因为当我添加带有新条目的新行时,只有在两者之间添加空行之后,什么都不会被排除。后来我注意到,似乎tf.exe正在执行某种形式的验证,对于某些语法,该验证并不总是首次成功。很难确定在什么情况下会发生这种情况,但这是第二次有效。

我建议这样做的人打开文本编辑器并将您的更改保存在.tfignore中,然后在Team Explorer中检查检测到的文件是否消失(如果被忽略,则应该删除)。如果此操作在1到3秒钟内不起作用,请尝试再次保存.tfignore文件而不做任何更改,然后它可能会起作用。我已经看过100多次了。

编辑并保存.tfignore文件后:

enter image description here

空白重新保存文件后:

enter image description here