git 卡在 ssh 上的推送(破管)上

标签 git ssh bitbucket

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

这是我在 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 是全新的。

最佳答案

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

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

服务器: 抱歉,这件事我帮不了你。我只知道它是一个 linux VPS(并运行 cPanel)。

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

关于git 卡在 ssh 上的推送(破管)上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17211647/

相关文章:

python - 通过远程连接运行带有 GUI 的程序

php - 支付宝整合

Git:无法从一台计算机推送

git - 如何在 GitHub 问题中引用受影响的版本?

ruby-on-rails - 比特桶/Github : permission denied public key

ssh - 打包程序等待 SSH

git - 是否可以在不更改 `git blame` 报告的信息的情况下更改代码?

bash - 如何使用SSH客户端在远程主机上运行本地代码?

version-control - Mercurial 。版本控制和部署。不同的配置文件。如何?

python - Flake8 linter 检查仅在推送文件上通过 Bitbucket 管道