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


当前回答

此问题可能是由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是不同的命令选项。

其他回答

我在推送到GitHub时也遇到了同样的问题。我发现有一部分被推送的文件没有被接受。

我发现这是通过把我的大提交分解成小的提交(正如这个SO问题所描述的:把以前的提交分解成多个提交),然后在大多数小的部分中找到成功。

问题部分包含图像文件,我仍在整理哪个特定文件(或多个文件)触发了问题。

这一点问题都没有。我只需要等到上传完成。我已经添加了几个大文件,没有进度指示器。也许其他人会觉得这很有用。

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

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

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

查看是否已经进行了阶段性但未提交的更改。(git状态)

如果是,提交(或取消)这些文件,然后尝试推送。为我工作。