Git LFS を試してみる

背景

いままでのgitの場合、PSDや画像ファイルなどの巨大なバイナリファイルを扱おうとすると容量を大きくとったり、gitの各種オペレーションが多くの時間とられたりするのを改善するものです。 Git LFS Specificationによると、repositoryにblobsを書くのではなくポインタ管理にかえたので保存するサイズが小さくなり動作改善されました。 ゲームなどのプロジェクトの場合、画像ファイルが大きくなり結構困っている場合も多いがこれによって改善の見込みがあるため試してみます。

ゴール

git-lfsをインストールして、どのような動作をするか確かめる。

Git LFSのインストール

Git Large File Storageからファイルをダウンロード

shellスクリプトからインストール

バージョンは都度読み替えてください。

$ cd Downloads/
$ cd git-lfs-0.5.0/
$ sh install.sh
git lfs initialized

git-lfsで扱いたいファイルの拡張子を登録します。

$ mkdir /var/tmp/git-lfs-sample
$ cd /var/tmp/git-lfs-sample/
$ git lfs track "*.psd"
$ cat .gitattributes
*.psd filter=lfs -crlf

trackされているか確認します

$ git init
Initialized empty Git repository in /private/var/tmp/git-lfs-sample/.git/
$ git add BigFile.psd
$ git commit -m"add psd"
[master (root-commit) 587fdc6] add psd
 1 file changed, 3 insertions(+)
 create mode 100644 BigFile.psd
$ git lfs ls-files
BigFile.psd

参考