我的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才能回到命令行。我已经在过去与这个项目没有问题的几次提交。我在我的机器上尝试过其他的回购,它们工作得很好。这是怎么回事?


当前回答

Try:

git gc

我把它挂在同一个地方,但文件非常小,所以等待不是答案。解决方案是git gc(垃圾收集)来重新计算repo中的增量。

其他回答

等待上传完成对我来说是行不通的。 我推了一把不大的锉刀,但等得够久了,还是挂了。

对我有帮助的是从msysgit 1.9.5更新到git-for-windows 2.6.2。

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

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

下面是调试ssh连接的方法

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

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

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

谢谢@aroth!

对我来说,当我切换到bash而不是zsh终端时,它就工作了。

在远程机器上裸回购的情况下,权限也可能是造成这种情况的原因。