这两天我试图把我的项目(在git上)放到我的服务器上。我的服务器有1GB内存,使用UbuntuOS。 (通常其他进程使用200MB的RAM) 是的。
当我跑的时候 git pull origin master 在服务器上,它抛出:
git pull origin master
致命:内存不足,malloc失败(试图分配533517295字节) 致命:索引包失败
致命:内存不足,malloc失败(试图分配533517295字节)
致命:索引包失败
这里还有一个结果 nano .git/config :
nano .git/config
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true packedGitLimit = 512m packedGitWindowSize = 512m [remote "origin"] url = https://***@bitbucket.org/***/***.g$ fetch = +refs/heads/*:refs/remotes/origin/* [pack] threads = 1 deltaCacheSize = 512m packSizeLimit = 512m windowMemory = 512m
老实说,我无法为我的服务器获得更多的内存。知道如何在服务器上提取项目吗?
注意到事实上有真名而不是 *** 是的。
***
限制获取操作期间使用的内存量( git pull 使用 git fetch ),您可以使用 --depth 旗帜。
git pull
git fetch
--depth
快跑 git pull --depth=10 并增加到number以获取越来越多的历史记录(如果内存也用完,则减小它)。在历史记录中加载了足够的对象后,可以使用 git fetch --unshallow
git pull --depth=10
git fetch --unshallow
深度拉动的缺点是存储库将占用更多的磁盘空间,因为它还必须考虑回购的多种状态