stdin: 当 运行 'git push' - github 通过 ssh 时不是 tty

stdin: is not a tty when running 'git push' - github over ssh

我在 Windows 上使用 Git,直到最近一切正常。

在过去的几天里,当我试图将我的本地分支推送到 GitHub 上的远程分支时,我遇到了一个错误。我正在通过 SSH 连接到 GitHub。我得到的错误是

stdin is not a tty
error: failed to push some refs to 'github.com:xxx/yyy.git'

无论我尝试推送新分支(没有远程)还是现有分支,都会发生这种情况。这两个命令都以同样的方式失败:

git push
git push -u origin tomasz/test

所有其他 git 命令似乎工作正常,即 git pullfetch

过去几天我一直在谷歌搜索,但找不到任何可以修复它的东西

更新 1: 我尝试了运行pull --rebase ...提出的解决方案之一,结果是这样的:

更新:2 Git 跟踪失败的 ssh 协议连接给出错误 14:49:50.463468 trace git-lfs: pure SSH protocol connection failed: Unable to negotiate version with remote side (unable to read capabilities): EOF

原因: GitHub,文件不在本地仓库

解决方案:

git pull --rebase origin tomasz/test
git push -u origin tomasz/test

感谢@torek,他给了我一个获取更详细调试日志的方法GIT_TRACE=1 git push

这已将问题缩小到 Git-LFS,而不是 GIT/Github/GitBash。

我已经通过 运行 修复了它: git lfs update --force 正常 update 返回时出现冲突错误