我刚刚升级到VS2015,我遇到了一个我以前没见过的问题。使用源代码管理下的现有解决方案,我可以修改文件,并将其作为挂起的更改进行检索,准备签入TFS。
但是,我添加了一个新文件(Test.cs作为此屏幕截图中的示例),它不会被选为新文件。
我需要右键单击它并单击“将文件添加到源代码管理”
这从来就不是问题。我希望我添加的所有内容都作为一个新文件被提取作为待定更改。我怎样才能做到这一点?我之前在以前的Visual Studio版本中没有看到过这个。
我可以确认这个问题在另一台机器上是一样的。此外,新文件也未在“促进候选人更改”中被选中。
如果我然后单击“将文件添加到源代码管理”,我会收到此消息。
“忽略所选文件。无论如何将其添加到源代码管理中?”
我的.tfignore文件只有一个忽略包的指令,所以我认为这个文件不是问题。
如何让我的设置重回正轨?
更新
我注意到这只发生在我工作区的“Release”分支上。所有其他分支都按预期运行。此外,如果我接着一个分支“Release”并称之为“Release1”,那么这个问题就完全消失了!
具有特定名称“Release”的分支是否具有TFS中的任何特殊功能?
答案 0 :(得分:17)
名为Release的文件夹及其内容会自动从TFS中排除(与Debug和许多文件类型一起)。您可以通过创建.tfignore文件为特定文件夹覆盖此文件,详见“自定义版本控制忽略哪些文件”部分link
自定义版本控制忽略哪些文件
默认情况下,某些类型的文件(例如.dll文件)是 被版本控制忽略。结果:
将忽略的文件添加到本地映射的文件夹中 工作区,它们不会出现在Team的Pending Changes页面中 资源管理器。
当您尝试使用“添加到源代码管理”添加忽略的文件时 对话框(例如,通过将它们拖动到源代码管理中 资源管理器),它们会自动显示在“排除项目”选项卡中。
您可以通过放置文本来配置忽略哪些类型的文件 在要应用规则的文件夹中名为.tfignore的文件。该 .tfignore文件的效果是递归的。但是,您可以创建 子文件夹中的.tfignore文件可覆盖.tfignore的效果 文件在父文件夹中。
.tfignore文件规则
以下规则适用于.tfignore文件:
#开始评论专栏
*和?支持通配符。
除非以\ _字符为前缀,否则filespec是递归的。
!否定文件规范(不忽略与模式匹配的文件)
.tfignore文件示例
忽略ProjA子文件夹及其所有子文件夹中的.cpp文件
ProjA * .cpp忽略此文件夹中的.txt文件
* .txt忽略此文件夹及其所有子文件夹中的.xml文件 * .XML
忽略Temp子文件夹
中的所有文件
\ Temp请勿忽略此文件夹中的.dll文件或其子文件夹中的.d。*。dll
答案 1 :(得分:11)
我们也遇到了这个问题,但在我们的情况下,这是因为我们的文件夹以" .Lib"结尾。从这个SO问题中找出来:Visual Studio 2015. Files not added to TFS
答案 2 :(得分:8)
我们遇到了同样的问题,因为有一个名为' Release'的分支。但问题仅出在Visual Studio 2015 Update 3.使用Visual Studio 2015 Update 2,一切正常。因此,Visual Studio Update 3必须已更改其行为。回到原来的行为会很有用。
答案 3 :(得分:5)
将.tfignore文件添加到包含您不希望忽略的扩展名的release文件夹中:
!*.vb
我尝试将此添加到我的解决方案文件夹中存在的.tfignore,但它没有帮助。它只在我将一个添加到父版本文件夹时才起作用。
..\Release
..\Release\.tfignore <-- this one
..\Release\SolutionA\
..\Release\SolutionA\.tfignore