Visual Studio 2015新文件未自动添加到源代码管理中

时间:2016-07-22 10:14:47

标签: visual-studio tfs visual-studio-2015 azure-devops

我刚刚升级到VS2015,我遇到了一个我以前没见过的问题。使用源代码管理下的现有解决方案,我可以修改文件,并将其作为挂起的更改进行检索,准备签入TFS。

但是,我添加了一个新文件(Test.cs作为此屏幕截图中的示例),它不会被选为新文件。

Screenshot of new file vs modified file

我需要右键单击它并单击“将文件添加到源代码管理”

Add files to Source Control screenshot

这从来就不是问题。我希望我添加的所有内容都作为一个新文件被提取作为待定更改。我怎样才能做到这一点?我之前在以前的Visual Studio版本中没有看到过这个。

我可以确认这个问题在另一台机器上是一样的。此外,新文件也未在“促进候选人更改”中被选中。

如果我然后单击“将文件添加到源代码管理”,我会收到此消息。

The selected file is ignored - add it anyway?

“忽略所选文件。无论如何将其添加到源代码管理中?”

我的.tfignore文件只有一个忽略包的指令,所以我认为这个文件不是问题。

如何让我的设置重回正轨?

更新

我注意到这只发生在我工作区的“Release”分支上。所有其他分支都按预期运行。此外,如果我接着一个分支“Release”并称之为“Release1”,那么这个问题就完全消失了!

具有特定名称“Release”的分支是否具有TFS中的任何特殊功能?

4 个答案:

答案 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

msdn thread on the subject