我有一个回购https://bitbucket.org/
日前由错误的大数字图像文件在回购被推。 然后文件被通过另一个推删除。 之后回购工作确定,但今天当我试图从回购拉:
$ git pull
Password for 'https://repo@bitbucket.org':
warning: no common commits
remote: Counting objects: 4635, done.
remote: Compressing objects: 100% (1710/1710), done.
fatal: Out of memory, malloc failed (tried to allocate 4266852665 bytes)
fatal: index-pack failed
我试过了:
1) git config --global pack.windowMemory 1024m
2)
$ git count-objects -v
count: 9
size: 48
in-pack: 4504
packs: 1
size-pack: 106822
prune-packable: 0
garbage: 0
没有运气,不知道行动应我接下来采取什么样的...
回购的规模应该在代码10-20M。 什么样的行动我接下来应?
更新1
我执行这些命令:
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch public/images/*' HEAD
Rewrite a1c9fb8324a2d261aa745fc176ce2846d7a2bfd7 (288/288)
WARNING: Ref 'refs/heads/master' is unchanged
和
$ git push --force --all
Counting objects: 4513, done.
Compressing objects: 100% (1614/1614), done.
Writing objects: 100% (4513/4513), 104.20 MiB | 451 KiB/s, done.
Total 4513 (delta 2678), reused 4500 (delta 2671)
remote: bb/acl: ayermolenko is allowed. accepted payload.
To https://repo@bitbucket.org/repo.git
+ 203e824...ed003ce demo -> demo (forced update)
+ d59fd1b...a1c9fb8 master -> master (forced update)
然后拉好的工作:
$ git pull
Already up-to-date.
但是,当我尝试克隆回购我得到
~/www/clone$ git clone git@bitbucket.org:repo.git
Cloning into 'clone'...
remote: Counting objects: 5319, done.
remote: Compressing objects: 100% (1971/1971), done.
fatal: Out of memory, malloc failed (tried to allocate 4266852665 bytes)
fatal: index-pack failed
更新2
可悲的是我没有找到的所有大型文件。 有的还在离开了。 所以我问的支持杀回购的所有日志
更新3
最后,我不得不杀死老和创造新的回购协议。