http://blog.naotaco.com/archives/1112
大容量のバイナリファイルをgitで現実的に管理できるようにするための仕組み。
gitはレポジトリに全バージョンの内容をローカルレポジトリの中に持つという性質上、大容量のバイナリファイルが何百回も変更されるようなプロジェクトをバージョン管理するのに向かない。
そこで……。
指定したファイル(おもにバイナリ)をGitリポジトリではない別のサーバに置いて、Gitとしてはそのハッシュ?が書かれた
テキストファイルのみを管理する。
で、クライアント側はバイナリファイルや大きなファイルをLFSサーバ側にpushして、Gitリポジトリにはファイルのハッシュ?のみをPushすると。
という方法で、管理するようにしたのがGitLFS。
gitレポジトリとは別に、ファイル実体を保存しておくサーバを別に用意しておく必要がある。