ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

Git LFSを使ってみた #213

Git LFSを使ってみた

というか使わざるを得なかっただけなんだけど。

Git LFSとは

GitHub製のGitのエクステンション。Large File Storageの略。

Githubなどでは、1ファイルが100MB以上のものはPushできない。 そこで、Git LFSを使うと、容量の大きなファイルだけをGitリポジトリとは別のストレージに置いて、従来どおりバージョン管理等はGitの機能を使うことができるというもの。

GitHubでは、LFSを提供してくれている(という言い方であっているのだろうか)ので、100Mを超えるファイルでも、LFSを使うように設定するだけで、Pushできるようになるという優れもの。(Git LFS自体はOSSなのでGithubではなくてもサービス側が対応していれば使える。サクッと調べた感じ、Bitbuketなども対応済みの模様。)

使い方

使い方も極めてカンタンで、MacでHomebrewを使っている場合は、

$ brew install git-lfs

としてあげたあとに、

$ git lfs install

としてあげれば使用準備はOK。

Git LFSの管理対象にしたいファイルを

git lfs track "hoge.psd"

とかしてあげればよい。"*.psd"のようにワイルドカードも使うことができる。

あとは、対象のファイル及び、作成される.gitattributesのファイルを一緒にadd -> pushしてあげれば自動でよしなにやってくれる。

Githubの場合Git LFSに保存されているファイルを開くと

f:id:uutarou:20171214185040p:plain

こんな感じで表示される。このファイルはバイナリなので何も出てないが、画像等であれば通常どおりプレビューも表示されるらしい。

cloneもGit LFSの導入さえ終わっていればいつものようにやるだけで、うまい具合にやってくれるらしいです。すごいですね。

雑談

ここ2日くらいそれはもう激しく鬱だったのですが、ちょっとだけマシになった…気がする

研究室で進めてるプロジェクトの話を研究室内で発表してしまったのでいよいよちゃんとやらなきゃ感が出てきたな