想象以下场景:
经理创建了一个团队项目,并决定使用(最新的)git 作为项目的 VCS。开发团队将使用(最新的)VS2015(企业)IDE。Manager 创建了一个名为“master”的新(原始)分支,然后将 2 个文件提交并推送到该分支。
项目文件层次结构:
Project (Root) Folder
| notes.txt
\ readme.md
由“Jym”和“Bennie”组成的开发团队已经拉取了 origin/master 分支(并且他们都在本地/master 分支上工作)。Jym 已提交并推送第一个更改到“notes.txt”文件(直接到主分支)。Bennie 创建了一个名为“todos.txt”的新文件,并对“notes.txt”文件进行了一些更改。现在,当 Bennie 尝试同步/拉取更改(Jym 之前所做的)时,同步窗口中会显示以下消息:
无法拉取,因为有未提交的更改。在再次拉取之前提交或撤消您的更改。有关详细信息,请参阅输出窗口。
为了让团队变得更糟,Bennie 也遇到了与去年 12 月底公开的完全相同的问题。这意味着 Bennie 实际上无法运行任何 git 命令(但是,除了“撤消”之外的所有功能似乎都可以与 Visual Studio Git/TFS 提供程序一起正常工作——他觉得这很奇怪)。
也正因为如此,这个问题不是(可能)与另一个问题重复。
如何解决 Bennie 遇到的问题(来自上述场景)(当然只使用 Visual Studio)?
如果我可以提供更多详细信息,请发表评论。
编辑 1 (解决“空”设备的建议答案的输出):第一步
的结果:那不是那个答案中的错字,“nul”不应该是“nil”吗?
第二步(设备管理器)的结果:选中“查看”->“显示隐藏的设备”选项后,任何设备名称中都没有带有“警告”小图标(未知/无法识别的设备)或“空”的设备。
Also, apparently "Non-Plug and Play Drivers" type is not even being listed (of course when View -> "Devices by type" is selected).
第三步的结果:%SystemRoot%\system32\drivers\null.sys
文件已经存在并从磁盘中删除(从 Windows 10 复制并粘贴到 null.sys 文件中)。
更多详细信息:右键单击任何这些 sys 文件后,上下文菜单中没有“安装”或“卸载”选项,默认操作似乎是“打开方式...”(以粗体显示)。
第四步的结果:尝试合并null.reg失败。重新分配注册表项的所有者HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root
,同时设置适当的权限。更新注册表项权限后,
null.reg文件已成功合并到注册表中。
重新启动计算机。
等待最终答案...错误仍在显示!
编辑 2(测试 PATH 环境变量):
仍然发生相同的错误(即使在以管理员身份打开 git-cmd.exe 或 git-bash.exe 之后)。
编辑 3(电源选项,不使用“允许计算机进入离开模式”设置):
参考线程。
编辑 4:
Bennie 将他的机器从 Windows 8.1 升级到 10 后,问题已经解决。我们现在可以简单地得出结论,操作系统已损坏。