我最近在使用 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)
Agit 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 是全新的。