繁体   English   中英

减少Bitbucket上的回购大小

[英]Reduce Repo Size on Bitbucket

我已经知道我的存储库即将超过1GB,看来我的.git文件夹重达800MB。 为什么会这样?减少这种情况的正确方法是什么?

任何帮助表示赞赏。 提前致谢!

您的.git文件夹因某种原因肿,很可能是由于git历史记录或旧资产:

资料来源: http : //blogs.atlassian.com/2014/05/handle-big-repositories-git/

  • 他们积累了非常长的历史(该项目在很长一段时间内不断发展,行李也不断积累)。
  • 它们包括巨大的二进制资产,需要与代码一起跟踪和配对。
  • 以上两者。

以下是一些补救方法:

阴影克隆方法

运行git clone --depth <# of commits of history> <remote-url>

大型二进制文件或旧资产(如旧PSD)的过滤分支方法

运行类似git filter-branch --tree-filter 'rm -rf /path/to/spurious/asset/folder' HEAD东西。 请注意filter-branch可以重写提交的历史记录,因此拥有较旧版本存储库的其他人将需要再次克隆它。 在执行此方法之前,请警告您的同事!

上面的地图集链接中有更多方法和替代方法。

编辑:确保以防万一,创建您原始回购的备份回购!

我强烈建议您使用BFG( https://rtyley.github.io/bfg-repo-cleaner/ ),而不是手动使用git filter-branch ,因为它速度更快,并且可以帮助您摆脱较大的文件。 该页面上的说明非常容易遵循。

但是,请注意,仅当BFG当前未提交给您的存储库时,BFG才会从他们的.git历史记录中删除它们。 在使用BFG之前,您应该

git rm --cached FILENAME

任何大文件(例如您上面提到的大zip)。 如果您不再需要它们,则可以将其完全删除。 并记住将*.zip添加到您的.gitignore中!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM