为什么git拉挂?

时间:2017-05-17 17:15:44

标签: git git-bash git-pull

当我从git bash执行git pull时,终端通常运行pull,更新我的本地,然后挂起。我不确定它是否在等我做某事,但我通常会用CTRL-C退出。之后,我得到一个index.lock阻止我做其他我必须删除的东西。我误解了git pull的工作原理吗?

8 个答案:

答案 0 :(得分:14)

您可能需要删除不必要的git对象,例如dangling commits & blobs

git fsck && git gc --prune=now
  

git-fsck:验证数据库中对象的连通性和有效性   git-gc:清理不必要的文件并优化本地存储库

您可以refer here关于dangling commits & blobs

答案 1 :(得分:3)

检查SSH_AUTH_SOCK是否未指向过时的ssh-agent端点。取消设置(unset SSH_AUTH_SOCK)进行测试。

答案 2 :(得分:1)

我在Windows中,在解决之前关闭Visual Studio解决了问题。

答案 3 :(得分:1)

如果您从Linux机器上拔出,可能需要查看此文件:

/etc/ssh/ssh_config

要确保您没有将默认SSH端口设置为22以外的其他设置。有些人会对该文件感到困惑:

/etc/ssh/sshd_config

当他们将服务器设置为非标准SSH端口时。

答案 4 :(得分:1)

有同样的问题,与我的ssh客户端有关。

已确认尝试使用'-v'(详细)选项连接到远程ssh服务器

ssh -v -p PORTNUMBER USERNAME@SERVER

在陷入困境之前给了rekey after XXXXXX blocks”

apt-get purgeapt-get install并没有帮助,因此-在面对https://apple.stackexchange.com/a/280800公开的有趣方法之前,我进行了轻松的重新启动,从而完成了工作。

答案 5 :(得分:0)

您的ISP可能阻止了流量。例如,英国的VirginMedia对其过滤器执行something with a proxy,从而导致GitHub流量挂起。我遇到了这个问题,并禁用了过滤器来解决它。

答案 6 :(得分:0)

在 Fedora 32 上,所有 git 命令都挂在我身上(仅适用于 gitlab 上的 repos),解决了

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

把它留在这里以防它对其他人有帮助

答案 7 :(得分:0)

我的问题是我更改了 ssh 配置文件,而这个存储库使用的是不存在的 ssh 配置。

检查远程配置:

git remote -v

检查 ssh 配置:

cat ~/.ssh/config

要修复它,我必须删除遥控器并添加一个新遥控器:

git remote add origin
git remote add origin right-ssh-config