1
0

More than 1 year has passed since last update.

ディスクの空き容量が足りなくなった時【gitのログ見直し】

Last updated at Posted at 2023-02-08

状況

  • git cloneをして検証したいブランチを反映している。
  • 検証環境でディスクの空き容量が足りなくなり「No space left on device」が発生する。
  • 不要なログ、ファイルを削除しても解消されない。

試したこと

  • 容量の重いファイルをdu -mコマンドを使って探していく。
  • プロジェクトディレクトリの.git/objectsの容量が大きくなっていることを確認

.git/objectsって何してるの?

  • リポジトリにあるファイルの差分や履歴を管理しているオブジェクト
  • コミットが多くなると容量は肥大化していく
  • 容量の大きいファイルをコミットした場合なども容量が大きくなるため危険

解決策

  • Shallow Clone
    • 検証環境では、毎回クローンしなおしていたので、git clone時に--depthのオプションをつけることでクローンするときに、どこまでログを遡って取得するかを指定する。
    • git logで変更ログを確認したい場合は、クローン時に指定したところまでしか確認できないので注意
    • 今回は検証環境で変更ログを確認することもないため1を指定する。
     git clone --depth 1
    

他にも

あまり使うことはないかもしれませんが、他にも.git/objectsを軽量化したい場合の方法を紹介します。

  • リポジトリを作り直す
  • git filter-branchコマンドを使って指定したファイルのログを削除する。
    • 大きいファイルを間違ってコミットしてしまった場合とかは良いかも
1
0
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
0