从git / github中删除不需要的文件

时间:2016-01-04 14:04:32

标签: git github

我之前将许多文件推送到git,其中许多文件都是不需要的。我按照以下步骤删除了那些不需要的文件(jar / lib / ide文件等)。

Remove Files - 1

Remove Files - 2

基本上我做了,

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch target'

我在github中验证了这些文件不再存在。当我在github上下载我的repo作为zip时它不到1MB,但是当我做一个git clone时,它仍然是100MB。

经过进一步研究,我发现克隆后,

MyRepo/.git/objects/pack/pack-b6b2b82ecd58c551c3648b9ca97e4f8b29rrt3c2.pack 99.8 MB 。我怎么能摆脱这个?

1 个答案:

答案 0 :(得分:1)

听起来你错过了first link的最后一步(第9步):

git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now

git gc垃圾收集。

我要补充一点,你应该确保不小心git push支持臃肿的内容。我建议删除所有存储库的本地副本,并在确定无效后再重新克隆。

您建议的第二个链接几乎完全处理从存储库中删除文件作为提交;如果你这样做,你仍然可以在提交之前签出修订版,因此文件的内容显然必须在某处,因此git clone的大小不会减小。