想象以下场景:
管理者创建了一个团队项目,并决定使用(最新的)git作为该项目的版本控制系统。开发团队将使用(最新的)VS2015(企业版)IDE进行工作。 管理者创建了一个名为“master”的新(origin)分支,然后提交并推送了2个文件到该分支。
项目文件层次结构:
Project (Root) Folder
| notes.txt
\ readme.md
由“Jym”和“Bennie”组成的开发团队已经拉取了origin/master分支(并且两者都在本地/master分支上工作)。 Jym已经提交并推送了对“notes.txt”文件的第一个更改(直接到master分支)。 Bennie创建了一个名为“todos.txt”的新文件,并对“notes.txt”文件进行了一些更改。 现在,当Bennie尝试同步/拉取早期由Jym进行的更改时,在同步窗口中显示以下消息:
无法拉取因为有未提交的更改。在再次拉取之前,请提交或撤消您的更改。有关详细信息,请参见输出窗口。
对于团队来说,情况变得更糟糕了,Bennie也遇到了去年12月底提出的相同问题。这意味着Bennie实际上无法运行任何git命令(但是,除了“撤消”功能以外,所有功能似乎都可以使用Visual Studio Git / TFS提供程序正常工作 - 这让他感到非常奇怪)。
此外,由于这个原因,这个问题不是另一个问题的重复。
如何解决Bennie遇到的问题(如上述情况),仅使用Visual Studio?
如果需要提供更多详细信息,请在评论中发布。
编辑1(来自建议答案,用于解决“null”设备):
第一步的结果:那个答案中有一个拼写错误,"nul"应该是"nil"吗?
第二步的结果(设备管理器):
勾选“显示隐藏设备”选项后,没有任何带有小“警告”图标(未知/未识别设备)或任何设备名称中带有“null”的设备。
而且,显然,“非即插即用驱动程序”类型甚至没有被列出(当选择“按类型查看设备”时)。
第三步的结果: %SystemRoot%\system32\drivers\null.sys
文件存在并已从磁盘中删除 (从Windows 10复制并粘贴到null.sys文件中)。
更多细节: 右键单击这些sys文件中的任何一个,上下文菜单中没有“安装”或“卸载”选项,默认操作似乎是“打开方式…”(加粗显示)。
第四步的结果: 尝试合并null.reg失败。重新分配了HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root
注册表键的所有者,并设置了适当的权限。
更新注册表键权限后,null.reg文件成功合并到注册表中。
重启计算机。
等待最终答案... 错误仍在显示!
![查看截图](https://i.imgur.com/6eH8wtv.png)
参考线程。
![查看截图](https://i.imgur.com/rgAf4Xb.png)
在Bennie将其机器从Windows 8.1升级到10后,问题已解决。我们现在可以简单地得出结论,操作系统已经损坏。