我正在尝试将git存储库克隆到我的本地计算机上,但它说的是“malloc failed
”,因为存储库太大了。
有谁知道我可以用来复制目录的确切rsync命令?或者我还能做些什么来克隆大型存储库?
我尝试过rsyncing,但它给了我以下错误:
Invalid command: 'rsync --server --sender -v . username/dir.git'
You appear to be using ssh to clone a git:// URL.
Make sure your core.gitProxy config option and the
GIT_PROXY_COMMAND environment variable are NOT set.
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(463) [receiver=2.6.8]
尝试使用git clone时出现以下错误:
remote: Counting objects: 52708, done.
remote: Compressing objects: 100% (52188/52188), done.
fatal: Out of memory, malloc failed (tried to allocate 1471836719 bytes)
fatal: index-pack failed
答案 0 :(得分:2)
只需使用较新版本的git
即可。较新的版本可以处理这个问题。
或者,如果您已经使用新版本,请将git config core.bigFileThreshold
设置为较小的尺寸。
答案 1 :(得分:0)
尝试使用ulimit以允许git进程使用更多内存。
答案 2 :(得分:0)
如果您有一个非常大的文件,我认为您没有任何其他选择,只是尝试将其从您的回购中删除,假设:
请参阅section "Removing a File from Every Commit" from the Pro Git book。
git filter-branch --tree-filter 'rm -f bigFile' -- --all
同时检查section "Checklist for Shrinking a Repository" of git filter-branch
。