LoginSignup
1
2

More than 3 years have passed since last update.

GitのPackfileの容量が増えすぎて、パソコンが身動き取れなくなった日

Posted at

はじめに

先日、パソコンの容量が埋まってしまい作業ができる状態ではなくなった。不要なファイルやアプリをとことん消したが解決には至らなかった為、より探ってみた。


No space left on device

コマンドも打てない...

原因

  • 大量のバイナリファイルを抱えていたので、.git/oblects/pack/が肥大化していた。


Packfileとは

  • そもそもgitではgit initをしたとき、objectsファイル内にpackファイルが作られる。そしてcommitをした際に新しいobjectファイルとして.git/oblects/pack/に圧縮するらしい。

パソコンの容量を空けた手順

  • 容量を確認。
du -sh .git/objects
  • 何がパックされているか、ファイルの中身を見ることができる。
git verify-pack -v .git/objects/pack/パックファイル
  • .git/objects/pack/tmp_pack_オブジェクトIDのファイルを削除。

  • 今回はとりあえず、リモートはそのままにローカルの容量を空けたいだけなので、commit履歴自体は消さず、歴史の改変も行わない。

終わりに

  • 200GBも開けることができた。
  • 不要なファイルとしてコミット履歴やリモートからも消したいのであれば、下の参考などを元に進める必要がある。
  • pushする際にgit gcコマンドで、何がパックされているか確認することもできる。
  • バイナリをgitで管理するのはあまり得策ではないように思う...

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2