ゲレの工房

ゲーム好きの中の人が、自分が作りたいアプリを作る記録です

AWS EC2のt2.micro上で、git gc --aggressive --prune=now が失敗した時のメモ

AWS EC2上で、git のレポジトリサイズが大きすぎて、bitbucketに怒られて、レポジトリサイズを整理した時のメモ。正直、変なところで詰まってしまっただけなのですが。

まず結論

git gc は結構メモリを食うようです。私みたいに t2.microで行うと怒られるようです。一時的にt2.smallにして対処しました。

参考サイト

ここのサイトを参考に作業を行いました。
qiita.com

実際作業をやって見た (失敗例)

不要なファイルを削除

$ git rm alldata

不要なファイルをレポジトリから削除

$ git filter-branch --tree-filter "rm -f -r alldata" HEAD

git gc してみるが失敗

$ git gc --aggressive --prune=now
Counting objects: 83635, done.
error: pack-objects died of signal 990)
error: failed to run repack

悩んだ末

t2.microをt2.small

AWS EC2のt2.micro上で作業を行なっていました。どうやらメモリ不足で失敗していた様子。swapを追加する方法でも対処できるかもしれませんが、今回は t2.smallで。

$ git gc --aggressive --prune=now
Counting objects: 83635, done.
Counting objects: 83632, done.
Compressing objects: 100% (59765/59765), done.

gcが進みました。git の容量はちゃんといつも管理しておきましょうということで、今回はここまで。
それではー


広告