解决方案
更新 Microsoft Visual Studio 2013 (KB3023302)
下载的更新的 Microsoft Visual Studio 2013 在 Git 中解决问题。
此修复程序的工作原理
Team Foundation Server (TFS) 产品的此修复程序将拒绝任何推 (上载),包含的文件或路径组件相匹配的".git 字符串。这样可防止错误文件的注入到承载 repos。
为 Visual Studio 的客户端,此修复程序阻止到.git 目录中签出任何文件。这样可以防止 repos 包含错误的文件影响本地用户的计算机。
Git 中的问题
这是整个 Git 生态系统的清单并不是唯一的在我们的开发平台 Git 存储库的 Microsoft 技术支持问题。不过,我们可以采取重要的主动预防性有助于确保使用 Git 存储库的 Microsoft 客户不会受到此问题的步骤。
问题,会影响所有的 Git 客户端是由核心 Git 维护人员发现的。该问题允许 Git repo 文件的介绍。这样,当用户下载远程资源库中的更改,巧尽心思构建的文件以无提示方式无法替换用户的配置文件名为文件。用户的配置文件驻留在存储库外部。通过与损坏的文件替换此文件,git 命令可重新映射来执行在该用户的凭据下运行的任意命令。
Visual Studio 2013年和 Visual Studio TFS 2013 不直接受此问题。Visual Studio 和 TFS 才从.git 元数据执行任意命令。但是,签出 repo 包含巧尽心思构建的文件可能会导致 Visual Studio 覆盖部分.git 元数据,公开 Windows 的 Git 命令行工具的问题。TFS 已主动修补,若要防止此问题的传播。
原因
每个本地 Git 数据库维护 repo 隐藏的.git 目录中的根文件夹中的磁盘上。当文件被签出 (例如,下载后在本地磁盘上布置),一个名为的文件"。在 git 中获取数据库内放置 GIT/配置"。不区分大小写的比较".git 负责部分此问题。而且,在 Windows 平台上的文件路径的自动处理将受影响的文件模式扩展到很多比显式命名"。GIT/配置模式。
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。