【问题标题】:git hanging on push (broken pipe) over sshgit 挂在 ssh 上的推送(损坏的管道)上
【发布时间】:2023-03-13 06:29:01
【问题描述】:

我最近在将 git 与 bitbucket.org 服务结合使用时遇到了问题。 我最近安装了一个新版本的 Ubuntu(完全擦除后)。起初我复制了 ssh 密钥,但由于我认为这可能会导致问题,所以我生成了一个新密钥对并将新的公钥复制到 bitbucket.org。旧密钥现已移除。

这就是我在git push得到的结果

Counting objects: 44, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (33/33), done.
Writing objects: 100% (33/33), 3.33 KiB, done.
Total 33 (delta 25), reused 0 (delta 0)

此时,最终显示需要(实际上不是)永远:

Write failed: Broken pipe
fatal: The remote end hung up unexpectedly
fatal: recursion detected in die handler

这是git remote show origin显示的我的配置

* remote origin
  Fetch URL: git@bitbucket.org:Username/name_of_repo.git
  Push  URL: git@bitbucket.org:Username/name_of_repo.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (fast-forwardable)

git pull 给出“已经是最新的”。正如预期的那样。

git fsck 的输出(由 user1471175 建议)是

Checking object directories: 100% (256/256), done.
Checking objects: 100% (468/468), done.

之前一个很小的推送成功了,我现在尝试推送的变更集有点大,但只涵盖大约 10 个文件,在重新安装操作系统之前这从来都不是问题。

什么会导致这些问题?它现在不是 bitbucket.org 服务,因为我的一位同事可以在他的机器上执行操作(在同一个无线网络上)。

如果我将git配置为通过https而不是ssh上传,完全没有问题,所以问题似乎与ssh有关,尽管这对ssh-keys是全新的。

【问题讨论】:

  • 如果您转到 .ssh 中的配置文件并添加行 IPQoS=throughput 是否有效?

标签: git ssh bitbucket


【解决方案1】:

我遇到了类似的问题。在推送或获取之后,git 似乎挂起。在将其置于该状态一段时间(三十或四十分钟左右)后,我注意到它还在继续。 尝试放入 ~/.ssh/config; 主持人 * ServerAliveInterval 60 这意味着每 60 秒,您的计算机就会尝试与您正在连接的服务器保持连接。

我的设置(客户端): MBP,OS X 10.8.4 git 版本 1.8.3.1.448.gfb7dfaa

服务器: 对不起,我不能帮你解决这个问题。我只知道它是一个 linux VPS(并且正在运行 cPanel)。

我希望这些信息可以帮助某人。

【讨论】:

【解决方案2】:

似乎远程站点与您的文件无关。

先试试这个命令

git pull

那就试试吧

git push -u origin master

【讨论】:

  • 不,这不是原因。我已经相应地更新了问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-22
  • 2015-07-13
  • 1970-01-01
  • 2012-02-22
相关资源
最近更新 更多