我可以删除我当地的.git仓库吗?

我的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 

可能的问题

您的存储库可能比预期更大的原因有两个。

  1. 您的存储库中有很多二进制资产。
  2. 你有一个巨大的提交历史。

可能的解决方案

如果其中任何一个是原因,您有几个选择。 考虑以下。

  1. 如果您的问题是二进制资产,请将资产移至外部资产商店(例如Amazon S3或远程文件系统)。 然后,您可以使用git-filter-branch和git-gc将其从历史记录中删除。 这将大大减少您的存储库。

  2. 如果您的问题是一个非常大的历史记录,请将一个单独的浅层克隆推送到Heroku。 例如:

     git clone --depth 1 my_repo heroku_repo 

好吧,你不能这样做,除非你强行推(这几乎从不推荐)。 这将删除整个提交历史记录并创建一个全新的存储库。

但如果你想因为空间而抹去一切……你可以。 这只是……很奇怪。

如果你只推大师会怎么样?

你可能想做一些家务 。

做出赞成的回答,但请记住,你不能推动浅层克隆。 这是一个跟进: 在浅层克隆之后推送到github