1

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

4 回答 4

3

可能的问题

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

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

可能的解决方案

如果这些事情中的任何一个是原因,那么您有几个选择。考虑以下。

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

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

    git clone --depth 1 my_repo heroku_repo
    
于 2012-06-27T21:57:31.667 回答
0

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

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

如果你只推送 master 会发生什么?

于 2012-06-27T21:36:55.930 回答
0

你可能想做一些家务

于 2012-06-27T21:37:35.570 回答
0

做赞成的答案,但请记住,您不能推动浅层克隆。这是一个后续:在浅层克隆之后推送到 github

于 2012-07-07T18:23:35.853 回答