レポジトリのLFS対応を完了した話し

こちらの記事の続きです。

プログラムのソースというかHTMLのページがたくさんあるサイトをGitでバージョン管理しているのだが、レポジトリのサイズが1G超えてBitbacketのフリープランは扱いきれなくて、しかたないのでGitを自分のところのサーバーにインストールして使っていたけど、どうも遅くてストレス溜まるので対応してみた。

サイズが大きいのは、何も考えずにPDFとかZIP、PSDファイルをレポジトリにぶち込んでいたのが原因で自分のせい。そもそもこのサイトはアホみたいにPDFファイルがあるからサイズが大きくなってしまう。

そろそろGitのLFSでも使って見ようということで設定してみる。このリポジトリを始めた頃はLFSなんてなかったしな。やろうやろうと思って随分時間が経ってしまった。GitクライアントでSourceTreeを使っているけど、応答が遅くなってきた。

参考にしたのは次のサイト。詳しい移行方法はサイトを見てね。

Git の履歴からファイルを完全に削除する – git filter-branch | EasyRamble

EasyRamble

git filter-branchで過去の全てのcommitから画像ファイルの追加/変更をなかったことにしてリポジトリを軽量化する – dskd

dskd

filter-branchでlfsに管理してもらうバイナリファイルの履歴を削除する。これでリポジトリのサイズが4分の1以下に減った。どれだけバイナリファイルをリポジトリに入れていたのやら・・・。

これをBitbacketのレポジトリにpushしてお終いと思ったら、LFSの領域が1G越えた。Bitbacketのプランを課金してStandardにして対応。無事に完了。自分でサーバーを管理するのは辛いので、外に任せた方がいいわね。

応答が速くなったかいうと、まだマシになったくらい。これってSourceTreeのWindows版のせいなのかな? コマンドでGitやるのは面倒だしな・・・。