我的heroku repo增长到1.5gb,所以heroku支持的好伙伴清除了远程heroku repo,并建议我推送一份新的副本。
然而,du -h .git本地的结果显示.git为276m。而且,可以预见的是,当我试图将master推向它时,heroku会抛出一个错误。
所以,我的问题是:我可以删除我的本地.git文件夹,执行git init
并推送到heroku吗?这究竟是做什么的?
我的应用程序代码被推送到github - 我通常的工作流程是:
git add .
git commit -m "message"
git push #to github
git push heroku master
答案 0 :(得分:3)
您的存储库可能比预期更大的原因有两个。
如果其中任何一个是原因,您有几个选择。请考虑以下事项。
如果您的问题是二元资产,请将资产移至外部资产商店(例如Amazon S3或远程文件系统)。然后,您可以使用git-filter-branch和git-gc将其从历史记录中删除。这将大大减少您的存储库。
如果您的问题是一个非常大的历史记录,请单独shallow clone推送到Heroku。例如:
git clone --depth 1 my_repo heroku_repo
答案 1 :(得分:0)
嗯,你不能这样做,除非你强行推(这几乎从不推荐)。这将删除整个提交历史记录并创建一个全新的存储库。
但如果你想因为太空而抹去一切......你可以。这只是......很奇怪。
如果你只推主人怎么办?
答案 2 :(得分:0)
您可能想要做一些housekeeping。
答案 3 :(得分:0)
做出赞成的回答,但请记住,你不能推动浅层克隆。这是一个跟进:Pushing to github after a shallow clone