Git fetch/pull/clone hangs on receiving objects

2019-01-07 10:37发布

问题:

When fetching or pulling from git repositories, or cloning a repository, I get to this point:

remote: Counting objects: 6666, done.
remote: Compressing objects: 100% (5941/5941), done.
Receiving objects:  23% (1534/6460), 11.68 MiB | 23 KiB/s  

And it hangs. The 23%/number of objects isn't a given, it ranges from single digits to up to the 60s, it seems. Also the speed for download listed freezes -- it's not like it slowly crawls down towards zero.

The guy I sit next to has no issues, so it's not a router problem. We use beanstalk for our work repositories, but I have the issue from beanstalk and github (although occaisonally it seems a github one will finish).

The problem has only seemed to crop up since upgrading to Mountain Lion and updating Xcode. I've wiped git (including XCode's) and tried installing it with homebrew. That didn't work, so I removed it and tried with their provided Mac installation package which also didn't fix the issue.

Beanstalk provides SSH urls for the git repository, but I've had no issues with connecting via SCP or SSH to servers that I've done work on.

This is killing my workflow so any help would be much appreciated!

回答1:

VMware on NAT had this problem for me. Changing it to Bridged (replicate the state) fixed the issue.



回答2:

Try to check your network connection. Maybe there is a garbage in the routing table. Maybe broken port on your router or your computer's network interface problem. Try to ping server from which you are cloning git repo, maybe link between your computer and this server is unstable.



回答3:

Looks similar to mine problem. Git seemed to hang on fetch or push after a certain short amount of time. I can advice you to put in ~/.ssh/config:

Host *

ServerAliveInterval 60

I have a MBP with also mountain lion. I hope this timeout is the cause for your problem. (After thirty or forty minutes or so, I noticed that it continued.)



回答4:

first try to initialize git repository folder by typing

$ git init

it should help



标签: git ssh scp