git-clone memory allocation error
I'm trying to run git clone and am receiving the following error:
fatal:开发者_开发知识库 Out of memory, malloc failed
fatal: index-pack died with error code 128
fetch-pack from 'user@server:git' failed.
I was able to successfully do a clone on my local machine, but it's failing when I try to clone to another server.
Still somewhat new to this whole git thing, so any help would be greatly appreciated. :)
Do you have big files in your repository (like log files for example) ?
Apparently, your repository is too big to be retrieved on your hard drive.
There are two things you can do :
- Check for big files and remove them if they're not useful (not only by committing. But also by modifying your history. If you still have your big files in our repository, it won't be smaller.
- Do a "git gc". It'll automatically cleanup unused files and compress the repository.
If git
on the remote machine fails due to memory constraints you might also try rsync
or scp
to copy the repository to your local machine and continue with cloning from there.
You could run the git clone
command with --depth -1
. This will only fetch the last commit, so operations that involve history (git log, blame, or even push/pull) may not work. But, it needs less memory usage, disk space, and network transfers.
The limitations are described there: Why can't I push from a shallow clone?
Maybe your local machine in 32 bits and the other server is 64 bits... I got a similar issue on Windows using MSysGit 32 bits. The git 64 bits from Cygwin did the job.
My original answer is available on question Git on Windows, “Out of memory - malloc failed”.
精彩评论