事情是这样的,新来的前端小妹对 git 不熟悉,然后使用了 git add 提交了当前目录下 vagrant 的 box,大概有 1G 多。
于是噩梦来了,rails 部署大家都知道的,都是要先从 git 仓库更新代码的。即使删除了 1G 多的 box,这个记录还是会存在 git 的 history 里面的,也就是说每个服务器发布时候必须要先更新 1G 多的 history。
google 后发现其实发现早是很好解决的:
git rm --cached giant_file
git commit --amend -CHEAD
git push
如果不幸这条大文件的提交在你的历史 commits 中的话也没关系,有人做了个工具来解决这个事情:https://github.com/rtyley/bfg-repo-cleaner