Error when pulling warning: suboptimal pack – out of memory

I keep getting this error when trying to do a pull or a git gc

warning: suboptimal pack – out of memory
Compressing objects: 100% (10955/10955), done.
fatal: Out of memory, malloc failed (tried to allocate 827101023 bytes)
error: failed to run repack

  • Git global core.fileMode false overridden locally on clone
  • .gitconfig alias function call
  • Use BeyondCompare to see difference between files in GIT
  • Having trouble downloading Git archive tarballs from Private Repo
  • Solving conflicts on merge (Deleted and Modified)
  • How do Git LFS and git-annex differ?
  • How would I go about fixing this?

  • How push directly to remote server just using push?
  • Can git ignore specific lines matching a pattern?
  • Recovering a deleted branch from a remote on Bitbucket (git)
  • Two people working on a file at the same time in git
  • How do I undo a checkout in git?
  • Simple git post-commit hook to copy committed files to a certain folder
  • 2 Solutions collect form web for “Error when pulling warning: suboptimal pack – out of memory”

    This thread suggests

    run « git repack -adf --window=memory » on the repo where memory is escalated appropriately for your machine.

    That is pretty much the same solution than for the SO question “Repack of Git repository fails”.

    git repack -a -d --window-memory 10m --max-pack-size 20m
    

    However, Mark Longair will warn you that:

    Your solution has got you a working copy locally and remotely, but will cause problems again when the remote repository decides to repack itself again.

    So configuring pack.windowMemory and pack.packSizeLimit is a much safer solution, as well as checking the config of core.packedxxx and core.deltaxxx.

    For msysgit on Windows, this comment mentions:

    git config --global pack.windowMemory 256m
    

    worked for me
    (had have memory alloc error on 64 bit windows (Git-1.7.6-preview20110708.exe)

    Running

    git repack -a -d --window-memory 10m --max-pack-size 20m
    

    did not really solve my problem.

    Removing the repository and then git cloning again solved the problem.

    Git Baby is a git and github fan, let's start git clone.