两天后,我试图将我的项目(在git上)拉到服务器上。我的服务器有1GB内存,并使用Ubuntu OS。 (其他进程通常使用200mb RAM)。
当我在服务器上运行git pull origin master
时,它将引发以下情况:
致命:内存不足,malloc失败(试图分配533517295字节)
致命:索引包失败
这也是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
老实说,我无法为服务器获得更多的RAM。知道如何将项目拉到服务器上吗?
请注意,实际上是真实姓名而不是***
。
答案 0 :(得分:1)
要限制在获取操作期间使用的内存量(git pull
使用git fetch
),可以使用--depth
标志。
只需运行git pull --depth=10
并增加数量即可获取越来越多的历史记录(如果您还用完了内存,则减少历史记录)。在历史记录中加载了足够多的对象后,您可以使用git fetch --unshallow
深度拉动的缺点是您的存储库将占用更多磁盘空间,因为它还必须考虑到回购的多种状态