【问题标题】:"stdin: is not a tty" error on git pullgit pull 上的“stdin:不是 tty”错误
【发布时间】:2015-04-01 15:35:21
【问题描述】:

我尝试从远程存储库中提取更改,但它不再起作用了。

当我输入git pull 并输入密码时,我仍然得到这个stdin: is not a tty

这是截图:

【问题讨论】:

  • 请为您的帖子使用更具描述性的主题。
  • 你能把git给出的完整错误贴出来吗?您是否成功克隆了存储库?
  • git clone 也不行
  • 您使用的是什么操作系统?什么版本的git?什么样的网址? (它可能是一个 ssh URL,您会看到一个 ssh 错误。)如果您只是尝试 ssh 到该主机会发生什么?
  • 我在本地使用 Mac,git version 1.9.3 (Apple Git-50),这是一个 SSH url

标签: git


【解决方案1】:

此错误消息来自远程存储库。在通过 SSH 处理 git 命令时,遥控器没有 tty 或在 stdin 上配置的交互式终端。出现这种情况的原因有很多,但它不应该干扰您克隆或拉取的能力。我只是尝试输入您的密码。

【讨论】:

    【解决方案2】:

    要解决此问题,请将其添加到您的 .bashrc,然后再采购全球 /etc/.bashrc,这几乎是顶部。这尤其适用于 cpanel 共享主机。

    # Prevent "stdin: is not a tty" errors
    if [ $(expr index "$-" i) -eq 0 ]; then
        return
    fi
    

    不仅错误会消失,您还会看到输出错误。

    【讨论】:

    • 我想知道为什么这个问题或答案没有投票......这对我有用。如果我解释正确,如果 bashrc 脚本不是交互式的,则该行将停止执行,即$- 不包含“i”。
    • 你也可以使用tty -s这个表达式,它直接检查shell是否是交互式的。
    【解决方案3】:

    我在提交或推送到 github 时遇到了类似的问题。查看日志:

    $ git push
    stdin is not a tty
    error: failed to push some refs to https://...
    

    我可以通过升级 husky 创建的 git hooks 来解决这个问题:

    $ npx husky
    

    我正在使用以下版本:

    • git: 2.24.1.windows.2
    • 哈士奇:4.0.0
    • mintty 3.1.0 (x86_64-pc-msys)

    相关问题/拉取请求:

    【讨论】:

      猜你喜欢
      • 2017-04-02
      • 2017-12-20
      • 2014-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 2012-06-17
      • 2016-02-10
      相关资源
      最近更新 更多