我刚刚升级到VS2015,遇到了一个从未见过的问题。使用源控制下的现有解决方案,我能够修改文件,它们会作为即将发生的更改被提取,准备签入TFS。
但是,我添加了一个新文件(此屏幕快照中的Test.cs作为示例),它没有被选为新文件。
我需要右键单击它,然后单击“将文件添加到源代码管理”
这以前从来都不是问题。我希望将添加为新文件的所有内容作为未决的更改。我怎样才能做到这一点?在以前的Visual Studio版本中,我从未见过。
我可以确认此问题在另一台计算机上是相同的。另外,新文件也不会在“促进候选者更改”中选择。
如果然后单击“将文件添加到源代码管理”,则会收到此消息。
“所选文件将被忽略。是否将其添加到源代码管理中?”
我的.tfignore文件仅具有忽略包的指令,因此我认为此文件不是问题。
如何使设置恢复正常?
更新:
我注意到,这仅发生在我的工作区的“发布”分支上。所有其他分支的行为均符合预期。此外,如果我随后选择“ Release”分支并将其命名为“ Release1”,则问题将完全消失!
在TFS中,具有特定名称“发布”的分支是否具有任何特殊功能?
名为Release及其内容的文件夹会自动从TFS中排除(以及Debug和许多文件类型)。您可以通过创建.tfignore文件来覆盖特定的文件夹,如本链接的“自定义版本控制忽略哪些文件”部分中所述
自定义版本控制忽略的文件
默认情况下,版本控制会忽略某些类型的文件(例如.dll文件)。因此:
当您将忽略的文件添加到本地工作空间中映射的文件夹时,它们不会出现在Team Explorer的“ Pending Changes”页面中。
当您尝试使用“添加到源代码管理”对话框添加忽略的文件时(例如,通过将它们拖到“源代码管理资源管理器”中),它们会自动显示在“排除的项目”选项卡中。
通过将名为.tfignore的文本文件放在要应用规则的文件夹中,可以配置忽略哪些类型的文件。.tfignore文件的作用是递归的。但是,您可以在子文件夹中创建.tfignore文件,以覆盖父文件夹中的.tfignore文件的效果。
.tfignore文件规则
以下规则适用于.tfignore文件:
#开始注释行
*和?支持通配符。
除非以\字符为前缀,否则filespec是递归的。
!对filespec求反(不忽略与模式匹配的文件)
.tfignore文件示例
忽略ProjA子文件夹及其所有子文件夹
ProjA * .cpp中的.cpp文件忽略此文件夹
* .txt中的.txt文件忽略此文件夹及其所有子文件夹
* .xml中的.xml文件忽略Temp子文件夹
\ Temp中的所有文件不要忽略此文件夹或其任何子文件夹
!*。dll中的.dll文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句