使用GitHub for Windows时出现错误

8
上周我在使用git时突然出现错误,原因不明。我只能使用windows电脑。
我得到的错误信息并没有给我任何明确的答案,告诉我出了什么问题、怎样处理以及需要做什么来修复它。
这个错误发生在我克隆一个空的存储库后,自那以后我一直在卸载和重新安装GitHub for Windows,我通常只使用预装的Git Shell,但是GUI也遇到了无法启动的问题。
完整的错误信息如下:
WARNING: posh-git requires Git 1.7.2 or better. You have .
Couldn't open /dev/null: No such file or directory
Couldn't open /dev/null: No such file or directory

每次运行git命令时,都会出现Couldn't open /dev/null: No such file or directory的提示。
我觉得奇怪的是它在寻找/dev/null,但考虑到我正在Windows上运行,/dev/null根本不存在。
有人知道解决方法吗?

我也遇到了同样的问题,但我没有 GitHub for Windows,只有 Git Bash 和 Sourcetree。不知道这是否与最近的Windows操作系统更新有关? - Yuri Salimovskiy
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Nict
3个回答

4
一旦启动Powershell命令窗口,请运行git --version。Github for windows安装了msysGit

Github for Windows包含一个完全功能的版本msysGit - 无需安装任何额外的内容。您可以在任何存储库的上下文中调用PowerShell控制台。

在此下载Github for Windows

这里是帮助页面

有一些关于卸载github for windows页面上的信息uninstall github for windows page,关于删除剩余文件。

Github for windows使用posh-git使git能够被powershell使用。

使用Get-ExecutionPolicy验证脚本的执行是否被允许(应为RemoteSignedUnrestricted)。如果未启用脚本,请以管理员身份运行PowerShell并调用Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm


安装Github for Windows时,git未被添加为环境命令,我也找不到可用的git可执行文件。我已经运行了至少20次的安装过程,以及卸载过程。我已经在powershell中将执行策略设置为无限制或远程签名,但仍然没有任何进展。说实话,什么都没用。 - Nict
我希望**手动安装posh-git**对你有用。在安装Github for windows之后,我会进行这个操作。 - talves
是的,我做了,但我认为问题并不在于 posh-git,因为 GUI 也出现了问题。在那台电脑上,Git 几乎完全崩溃了。 - Nict

3
我在我的笔记本电脑上遇到了同样的问题,花了很长时间才理解并解决了它。以下是我的经验。
git错误信息(“Couldn't open /dev/null (or dup failed) : No such file or directory”)是一个Linux/Unix错误信息。实际上,git想表达的是它无法访问您系统的null设备。在Windows中,每个文件夹中都有一个对应于空和不可见文件的null设备。
  1. 在这里,您可以打开一个窗口控制台(cmd)并键入命令echo sample > nul。如果您收到错误消息,则实际上您的null设备存在问题。

  2. 识别问题:

    • 打开设备管理器
    • 菜单查看>显示隐藏的设备
    • 非即插即用驱动程序中搜索null
  3. 如果它存在但出现警告,请尝试以下操作(source):

    • 控制面板>电源选项
    • 更改计划设置
    • 更改高级电源设置
    • 多媒体设置
    • 共享媒体时>设置:选择允许计算机进入离开模式以外的设置
    • 重新启动计算机:如果问题仍然存在,建议您备份%SystemRoot%\system32\drivers\null.sys,删除null设备(右键单击>卸载),然后执行第4步。
  4. 如果它不存在(或第3步无法修复问题并且删除了null设备):

    • 按照此How-To(适用于Windows XP,但也适用于Vista)安装null设备。
    • 重新启动计算机。

我已经整晚都在解决这个问题,但还是没有弄清楚。我的空设备不起作用。据我所知,我有一个好的null.sys(DISM和sfc不再抱怨),但是在应用第4步之后,我在非即插即用驱动程序下面看不到任何隐藏的设备。事实上,即使在执行了第4步之后,我也找不到任何空设备,甚至在设备管理中也找不到。我使用的是Windows 8.1。 - WindowsEscapist

0

抱歉,我还没有足够的声望来进行评论,但是,您确定您拥有最新版本的“GitHub for Windows”吗?以前我也遇到过它没有自动更新的问题。

此外,您通常使用附带的“Git Shell”吗?这是我通常使用的,所以在重新安装时我没有遇到任何丢失配置的问题,不确定如果您使用主要的 GUI 程序会发生什么...


我已经下载了多次,通常使用附带的Git Shell。我也尝试过GUI,但没有真正的运气。 - Nict

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接