我的git推送在完成推送后被挂起。我要去 git推

Counting objects: 51, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (47/47), done.
Writing objects: 100% (47/47), 27.64 MiB | 6.47 MiB/s, done.
Total 47 (delta 4), reused 0 (delta 0)

它挂在这里,我必须control-c才能回到命令行。我已经在过去与这个项目没有问题的几次提交。我在我的机器上尝试过其他的回购,它们工作得很好。这是怎么回事?


当前回答

只有当我这么做的时候才对我起作用 git push -u origin main,当我只是简单地使用git push作为位桶时,它没有推送通过。

其他回答

签出git正在使用的用户权限!

在我的情况下,我尝试通过ssh和使用的系统用户无法写入到git裸库…

下面是调试ssh连接的方法

此问题可能是由SSH代理的问题引起的。

我最近遇到了这个问题,因为我将默认shell从zsh更改为bash。我最初使用zsh设置我的ssh密钥,所以它们在默认情况下对bash不可用,使用chsh -s /bin/bash

为了解决这个问题,你需要使用相同的shell脚本(bash, sh, zsh等)将你的ssh密钥添加到ssh身份验证代理,你正在使用它来执行git命令:

eval `ssh-agent`
ssh-add ~/.ssh/some_key_rsa

为了添加密钥,您需要输入密钥的口令。要将密码短语存储到用户密钥链中,这样就不需要在每次使用密钥时都输入它,可以将带有-K选项的密钥添加到ssh-add命令中。

ssh-add -K ~/.ssh/some_key_rsa

注意,使用大写K时使用小写K是不同的命令选项。

我有同样的问题,原来我有一个旧版本(我删除了,但有相同的名称)的回购连接到Heroku。当我断开它时,它完成了推送。

添加另一个本地提交并重新尝试推送对我来说是有效的。

在等了两个多小时后,我的git推送仍然卡住了。所以,我不得不在提交之前重置,我不小心上传了一张3.1mb的照片(我猜这是冻结的罪魁祸首)。

我发现了一个更友好的解决方案,@aroth在git配置上分享——global http。postBuffer 157286400是答案。

我只是打开一个新的iTerm窗口,运行上面的命令,然后运行git push,而VSCode中的终端仍然挂起。然后我按ctrl c关闭终端会话在VSCode和我回到业务。

谢谢@aroth!