是否可以在TFS源代码控制中设置文件/文件夹以忽略每个项目?
例如,我有一个带有资产文件夹的网站,我不想进入源代码控制。这些资产由一个单独的系统维护。此外,我不想将几个gb的资产放入源代码控制中,但我需要在我的开发机器上放置几个示例,但我也不想签入它们。
如果我在绑定源代码控制的同时在这个网站上工作,并且我刷新了树,这些文件将自动再次添加
我想阻止这种事发生。
是否可以在TFS源代码控制中设置文件/文件夹以忽略每个项目?
例如,我有一个带有资产文件夹的网站,我不想进入源代码控制。这些资产由一个单独的系统维护。此外,我不想将几个gb的资产放入源代码控制中,但我需要在我的开发机器上放置几个示例,但我也不想签入它们。
如果我在绑定源代码控制的同时在这个网站上工作,并且我刷新了树,这些文件将自动再次添加
我想阻止这种事发生。
当前回答
我假设您正在使用Web站点项目。它们会自动抓取项目目录,并将所有内容放入源代码控制中。没有办法阻止他们。
然而,不要绝望。Web应用程序项目没有表现出这种奇怪的和相当出乎意料的(恕我直言:低能)行为。WAP是VS2005的一个插件,直接与VS2008一起提供。
作为将项目更改为WAP的替代方案,您可以考虑将Assets文件夹移出源代码控制并移到TFS文档库中。只有在项目本身不直接使用资产文件时才这样做。
其他回答
我发现了像SVN一样忽略TFS文件的完美方法。 首先,选择你想要忽略的文件(例如Web.config)。 现在转到菜单选项卡,选择:
文件源控制>高级>排除web。从源代码控制配置
…和繁荣;您的文件将被永久排除在源代码控制之外。
忽略Team Foundation Server中的文件(和文件夹)似乎有点麻烦。我找到了一些方法来做到这一点(使用TFS / Team Explorer / Visual Studio 2008)。这些方法也适用于网站的ASP项目类型。
一种方法是向项目中添加一个新的或现有的项(例如右键单击项目,添加现有项或从Windows资源管理器拖放到解决方案资源管理器中),让TFS处理文件或文件夹,然后撤消对该项的挂起更改。TFS将取消将它们标记为有一个挂起的添加更改,这些文件将安静地保存在项目中,不受TFS的影响。
另一种方法是使用源代码管理资源管理器的“将项目添加到文件夹”命令。这将启动一个小向导,在其中一个步骤中,您可以选择要排除的项(不过,我认为您必须使用此方法向TFS添加至少一个项,以便向导允许您继续)。
您甚至可以添加一个禁止模式签入策略(在团队->团队项目设置->源代码控制…->签入策略)不允许团队中的其他人错误地签入某些资产。
对于 TFS 2013:
在VisualStudio-Team Explorer中,在PendingChanges对话框中撤销状态为[add]的更改,该状态应被忽略。
Visual Studio将再次检测添加。点击“检测到:x添加(s)”-排除的更改
在打开的“促进候选人的变化”对话框中,您可以轻松地排除文件和文件夹与上下文菜单。选项有:
忽略此项 扩展忽略 按文件名忽略 忽略文件夹(是文件夹,TFS 2013 Update 4/Visual Studio 2013 Premium Update 4)
不要忘记检入已更改的.tfignor - file。
2015/2017 VS:
同样的程序: 在TeamExplorer\Pending Changes的“Excluded Changes”选项卡中 点击检测到:xxx add(s)
弹出“Promote Candidate Changes”对话框,在条目上右键单击上下文菜单。错别字现在是固定的:-)
我假设您正在使用Web站点项目。它们会自动抓取项目目录,并将所有内容放入源代码控制中。没有办法阻止他们。
然而,不要绝望。Web应用程序项目没有表现出这种奇怪的和相当出乎意料的(恕我直言:低能)行为。WAP是VS2005的一个插件,直接与VS2008一起提供。
作为将项目更改为WAP的替代方案,您可以考虑将Assets文件夹移出源代码控制并移到TFS文档库中。只有在项目本身不直接使用资产文件时才这样做。
如果你正在使用本地工作区(TFS 2012+),你现在可以使用.tfignore文件来排除本地文件夹和文件的签入。
如果将该文件添加到源代码控制,则可以确保团队中的其他人共享相同的排除设置。
MSDN - http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore的详细信息
对于懒人:
You can configure which kinds of files are ignored by placing a text file called .tfignore in the folder where you want rules to apply. The effects of the .tfignore file are recursive. However, you can create .tfignore files in sub-folders to override the effects of a .tfignore file in a parent folder. The following rules apply to a .tfignore file: # begins a comment line The * and ? wildcards are supported. A filespec is recursive unless prefixed by the \ character. ! negates a filespec (files that match the pattern are not ignored)
示例文件:
# 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