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


当前回答

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

其他回答

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

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

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

它可以(正如公认的答案所暗示的那样)等待片刻,但在大多数情况下,它与远程上的权限相关联。 虽然在GitHub、Gitlab或Bitbucket等公共git服务上大多数情况下都不是问题,但自托管远程服务器可能有一个特殊的用户或组来访问。

在新的裸存储库中,改变文件夹是不够的, 但需要递归,因为里面有。git- folder。

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

签出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是不同的命令选项。