1

私のherokuレポは1.5GBに成長したので、herokuサポートの親切な仲間がリモートのherokuレポを一掃し、新しいコピーをプッシュするよう提案しました。

ただし、 du -h .git ローカルでの結果は、.git が 276m であることを示しています。そして、予想どおり、master を heroku にプッシュしようとすると、heroku がエラーをスローします。

それで、私の質問: ローカルの .git フォルダーを削除して、git initheroku にプッシュできますか? それは正確に何をしますか?

私のアプリのコードは github にプッシュされます。私の通常のワークフローは次のとおりです。

git add .
git commit -m "message"
git push #to github
git push heroku master
4

4 に答える 4

3

考えられる問題

リポジトリが予想よりも大きくなる可能性がある理由は 2 つあります。

  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

まあ、プッシュを強制しない限り、それはできませんでした (これはほとんど推奨されません)。これにより、コミット履歴全体が消去され、まったく新しいリポジトリが作成されます。

しかし、スペースがあるためにすべてを消去したい場合は...できます。それはただ... 奇妙です。

マスターのみをプッシュするとどうなりますか?

于 2012-06-27T21:36:55.930 に答える
0

ハウスキーピングをしたいかもしれません。

于 2012-06-27T21:37:35.570 に答える
0

賛成の回答を行いますが、浅いクローンをプッシュできないことに注意してください。フォローアップは次のとおりです。浅いクローンの後にgithubにプッシュする

于 2012-07-07T18:23:35.853 に答える