Git LFSを試す
はじめまして,VR部1年の木村です.とうとう夏休みが終わりました!夏休みの間にやったことといえばチーム開発ですが,今回の記事はチーム開発で使っているGitについてです. とはいっても,まだ使った経験がなく,軽い紹介程度になってしまうので軽い気持ちで見てみて下さい.
Git LFSとは
LFSはLarge File Storageの略で,Git LFSというのは大容量ファイルをバージョン管理する仕組みです.
通常のGitは,ソースコードのバージョン間の差分を算出して管理していますが,画像,音声,動画などの大容量ファイルはバイナリファイルとなっており,Gitで管理するには相性が悪いです. その上,GitHubやBitBucketなどのリポジトリの容量には制限があり,それを超えるとコミットできない読み取り専用の状態になってしまいます.
そこで,LFSでは大容量ファイルの実体をLFSサーバー上で管理し,リポジトリ上ではそのポインターを管理しています.そうすることで,大容量ファイルがリポジトリ上でテキストファイルとして管理されるため,リポジトリの容量を節約することができます.LFSのサーバーはGitHubやBitBucketのを使うことができます.(使えるのは1GB程度ですが)
コマンドライン上で使いたいならパッケージマネージャーやインストーラーで導入する必要がありますが,Source Treeには元から入っているようです.
Unityのプロジェクトをsource treeで
適当にUnityでプロジェクトを作成し,Unityの設定が次のようになっているか確認します.
Edit>Project Settings>Editor
gitのリポジトリの作成と,.gitignoreの追加
Git LFSの初期化と,.gitattributesの追加
source treeのメニューから,
リポジトリ>Git LFS>リポジトリを初期化
を選択します
次に,.gitignoreと同様にここの.gitattributesを追加します.(実際に使うときはファイルの種類をちゃんと確認して選ばないととすぐにいっぱいになるかもしれないので注意して下さい)
.gitattributesというのは,LFSで追跡するファイル形式をまとめて指定するためのものです.
コマンドで
git lfs track "*.png"
と入力するか,source treeの 初期化をしたときのメニューからひとつひとつ指定することもできます.しっかり追跡対象が設定されていますね
あとはいつも通りにコミット&プッシュするだけです
最後に
LFSは便利そうですが,無料プランだと容量が心許なく感じました. 通常のリポジトリもLFSもいっぱいになったらどうすればいいんですかね...
最後まで見て頂き,ありがとうございました!