Ome*_*ern 4 git visual-studio dev-null visual-studio-2015
想象一下以下场景:
Manager创建了一个团队项目,并决定使用(最新的)git作为项目的VCS.开发人员团队将使用(最新)VS2015(企业)IDE.Manager创建了一个名为"master"的新(origin)分支,然后将2个文件提交并推送到该分支.
项目文件层次:
Project (Root) Folder
| notes.txt
\ readme.md
Run Code Online (Sandbox Code Playgroud)
由"Jym"和"Bennie"组成的开发团队已经取消了origin/master分支(他们都在本地/主分支上工作).Jym已经承诺并将第一个更改推送到"notes.txt"文件(直接转到master分支).Bennie创建了一个名为"todos.txt"的新文件,并且还对"notes.txt"文件进行了一些更改.现在当Bennie尝试同步/拉出更改(由Jym早期做出)时,同步窗口中会显示以下消息:
无法拉动,因为有未提交的更改.在再次拉动之前提交或撤消更改.有关详细信息,请参见输出窗口
为了让团队变得更糟糕,Bennie也遇到了去年12月底开设的完全相同的问题.这意味着Bennie实际上无法运行任何git命令(但是,所有功能,但"撤消"似乎与Visual Studio Git/TFS提供程序一起使用 - 他发现这非常奇怪).
也正因为如此,这个问题不是(可能)与另一个问题重复.
如何解决Bennie遇到的问题(来自上述场景)(当然只使用Visual Studio)?
如果我能提供更多详细信息,请发表评论.
编辑1(从输出建议答案为解决"空"的设备):
从结果第一步:是不是在回答一个错字,不应该"NUL"是"无"?
第二步的结果(设备管理器):选中查看 - >"显示隐藏的设备"选项,没有任何设备名称中带有小"警告"图标(未知/无法识别的设备)或"空"的设备.
此外,显然甚至没有列出"非即插即用驱动程序"类型(当然,当选择View - >"按类型设备"时).
第三步的结果:%SystemRoot%\system32\drivers\null.sys文件已存在并从磁盘中删除(从Windows 10复制并粘贴到null.sys文件中).
更多细节:一旦右键单击任何这些sys文件,上下文菜单中没有"Install"或"Uninstall"选项,默认操作似乎是"Open with ..."(以粗体显示).
第四步的结果:尝试合并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后,问题已经解决.我们现在可以简单地断定操作系统已损坏.
Von*_*onC 12
每当一个GUI(这里是一个带有Git集成的VS)走出标称路径(这里不能立即进行git推送)时,请恢复到git命令行界面.
在你的情况下,伯尼需要aa git pull --rebase.
打开一个git bash,并做(如伯尼)
cd /path/to/repo
git status # make sure everything is committed
git pull --rebase
git status # you see notes.txt as being in conflict
# edit notes.txt and resolve the conflict by removing merge markers
git add .
git rebase --continue
git push
Run Code Online (Sandbox Code Playgroud)
注意,Visual Studio git pull --rebase 可能很快就会出现(关注@gitforvs):
但是没有官方的话.
关于" Couldn't open /dev/null (or dup failed)",看看" 使用GitHub for Windows时出错 "可能有所帮助(null设备问题).
如果错误仍然存在,例如在git-for-windows/git问题583中,重新安装Windows仍然是摆脱这种困境的最可靠方法.
正如编辑4中的OP OmegaExtern所提到的,从win8升级到win10足以恢复设备并解决问题.
| 归档时间: |
|
| 查看次数: |
16648 次 |
| 最近记录: |