关于版本控制:Visual Studio 2013团队资源管理器/ Git集成缺少文件

Visual Studio 2013 Team Explorer/Git integration missing files

我已经使用本机Git集成和BitBucket设置了Visual Studio 2013。

到目前为止,这已经很好地工作了,但是我注意到Visual Studio停止跟踪新创建的文件(通过IDE创建的,例如简单的新.cs文件)以便上载到BitBucket。

  • 提交/推送已跟踪文件的更改仍然可以正常工作
  • 新文件未显示在排除的更改或未跟踪的文件列表中。
  • 新文件包含在项目文件中(这些文件显示正确的更改)
  • 文件绝对不会以任何其他方式排除(.gitignore或其他方式)。

还有什么可能导致新文件不再被跟踪?


我最近也经历过类似的事情,但是排除和重新包括丢失的文件对我来说不起作用。在VS2013高级版中,我注意到在"更改"窗口的底部有一个"未跟踪文件"部分。只需右键单击要包含的文件并添加它们。确实不是很理想,而是另一种工作。


我和OP有同样的问题:

  • 提交/推送已跟踪文件的更改仍然可以正常工作
  • 新文件未显示在排除的更改或未跟踪的文件列表中。
  • 新文件包含在项目文件中(这些文件显示正确的更改)
  • 文件绝对不会以任何其他方式排除(.gitignore或其他方式)。

因此,似乎Visual Studio不知何故认为这些文件是被跟踪的,而不是,因为它们不会显示在未跟踪的文件下。

我的解决方案

由于我无法在Visual Studio中添加未跟踪的文件,解决方法是使用Git-Bash,并手动为每个应添加的文件执行Git添加。之后,它们在Visual Studio中再次正常工作。

我希望这很快就能修好…除了这个bug之外,Git集成在我尝试过的短时间内似乎非常好。


即使这是一个很古老的问题,我上周在VS2013上也遇到了类似的问题,而且预览版的解决方法对我来说都不是有效的。当编辑一个文件时,它会出现在团队资源管理器的修改文件列表中,但一旦保存,它们就会从任何列表中消失。其他工具(GitBash、Tortoise,…)将它们视为修改和取消提交,但不是对。我通过生成解决方案的.gitignore文件,在团队资源管理器的git参数中解决了这个问题!我希望这能有所帮助。

它可能与:在VS2013更新2中未显示的Git更改


我在添加.cs文件时遇到了同样的问题,而vs不将其识别为已添加,也不会将其包含在我的更改中。

作为解决方法,您可以打开sourcetree(mad by atlassian使用bitbacke),查看"未分页文件"部分,然后右键单击>添加文件。vs将立即接受更改/添加,您可以通过vs提交。

不理想,因为你仍然不能信任/依赖vs来跟踪你的承诺。


我在Visual Studio 2013版本12.0.21005.1rel中也遇到过同样的情况,我将把一个测试文件hello.cs放在一个特定的文件夹中,它将显示为"untracked",但是如果我将同一个文件放在另一个文件夹中,也放在同一个整体存储库文件夹中,它将不会显示在任何地方(包括、排除或未跟踪)。

结果发现我有一些带有引导程序和jquery的深层文件夹,它们本身有.gitignore和.gitattribute文件,当我简单地将它们重命名为disabled.gitignore和disabled.gitattribute,然后点击Visual Studio团队资源管理器窗格顶部的刷新图标时,所有丢失的文件都会再次出现!是啊!

这看起来像是Visual Studio 2013中的一个bug,也许是旧版本,因为我本以为.gitignore文件只在它们自己的文件夹中有作用域,但它们似乎随着Visual Studio继续遍历整个文件夹层次结构而继续起作用,尤其是在字母顺序或深度优先/深度优先顺序中!


我也经历过同样的问题,但没有提到的解决方案有帮助。我无法从VS2015中以任何方式向BitBucket Git回购提交文件。最后我对文件进行了更改(没有保存),对文件进行了暂存,然后提交。源树还能够跟踪它作为"添加"。


我有这个问题。从项目中移除并重新添加它是不起作用的,即使在每个步骤之间执行提交也是如此。我最终不得不使用源代码树来编写提交,使用vs将其推送到vs to。


旧的帖子,但遇到了这个问题的新原因。我是在下载了一个插件之后得到的。插件中有自己的.git文件夹,这似乎干扰了vs的git。删除文件夹后,我重命名了所有未跟踪的文件,然后将其重新命名为原始文件,而vs开始在文件前面添加+表示这些文件现在已被跟踪…


我通过在本地存储库中添加与我的.git文件夹相同级别的.gitignore文件来解决这个问题。

  • 在团队资源管理器中,连接到Git项目时,单击下拉列表并选择Settings
  • Git下,单击Git Settingsenter image description here
  • 朝下,在Repository Settings > Ignore File下单击Add。氧化镁
  • 这将为您创建一个默认的.gitignore文件。这对我很有用,但您也可以用以下类似建议的内容替换该文件的内容:https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

    希望这能帮助别人!


    在我的例子中,我通过从shell手动添加解决了这个问题。


    我以前也有这个问题,结果是我在Windows中安装的Git已经过时了。更新它,vs将能够再次跟踪并提交git repos

    https://msysgit.github.io网站/


    我也有类似的问题,我的解决方案是使用龟甲。如果我想提交,在"非版本化文件"一节中,TortoisGit会向我显示在.gitignore中不匹配但添加到文件系统中的文件。您可以简单地检查所有(如果您想添加它们)并按提交。

    enter image description here

    这不仅仅是Visual Studio Git的一个问题。尤其是没有值的一般错误消息。每次我必须切换到TortoiseGit或Git bash,才能找到Visual Studio Git工具不喜欢的地方。