对Git的承诺不好

时间:2010-02-12 19:40:03

标签: git

好的,大约700次提交前(> 30天)我意外地在我的本地Git存储库中保存了ThirdParty / mapper / Songbird_1.2.0-1146_windows-i686-msvc8.exe(iTunes下载类型)而没有注意到,这也是推到远程托管的git存储库,前几天我注意到repo超过200mb,而我期待大约20mb。

我已按照以下说明操作: http://github.com/guides/completely-remove-a-file-from-all-revisions

除了运行git gc --aggressive --prune之外,本地目录仍然超过200mb。在我可以对远程仓库进行排序之前,我需要对我的本地进行排序,我的情况是否有一些特殊之处(即大量文件,很久以前提交)。如何完全删除此文件并将目录缩小到正确的大小?

注意避免迁移:我觉得这更适合StackOverflow,因为Git目前主要是本地开发人员工具,社区支持而不是任何主流发行版或系统管理员期望的一部分,即在开发时知道管理员的时刻git最好的。

1 个答案:

答案 0 :(得分:3)

我在"git: shrinking Subversion import."

中写过类似的问题
  

git filter-branch manpage有一个清单,用于收缩建议运行filter-branch然后克隆以留下遗留物的存储库。

     

使用文件系统路径进行克隆会产生硬链接,因此请使用URL:

$ git clone file:///home/gbacon/src/dBTools.git
     

即便这样做,一些大的未命名的blob幸存了克隆。感谢freenode上的#git建议切除reflog:

$ git reflog expire --verbose --expire=0 --all
$ git gc --prune=0