先にBitBucket Serverで利用可能になったGit Large File Storageが、Atlassianのクラウドコードマネジメントソリューション、BitBucket Cloudで使えるようになった。AtlassianのエンジニアSzilard Szasz-Toth氏がブログで説明した。
Git LFSの背景にある基本的なアイデアは、巨大バイナリファイルを対応するストレージに格納し、Gitリポジトリにはそれらファイルへの軽量なリファレンスだけを格納することだ。したがって、バイナリファイルの変更履歴は、ファイルの完全なコピーではなく、実際のバージョンへの一連のリファレンスで表現できる。おかげでリポジトリのクローンや新バージョンのプルはかなり高速になる。現在チェックアウトされているバージョンだけがダウンロードされるためだ。
Szasz-Toth氏によると、Git LFSは特に、ゲーム開発者、高解像度をサポートするモバイル開発者、リッチメディアを使うWeb開発者にぴったりだという。加えて、プレゼンテーション、データセット、テスト用データベースイメージなど、コードに無関係なタスクにGitを効率良く使えるようになる。
Git LFSはGitHubが開発して現在メンテしているオープンソースのGit拡張であり、オーディオ、ビデオ、グラフィックスといった巨大バイナリファイルをGitリポジトリにうまく統合することを目指したものだ。
Git LFSはGitを拡張して、新しいlfs
コマンドを追加する。これは次のオプションをサポートする。
- config: Git LFSの設定を表示
- init: Git LFSを初期化
- logs: git-lfsのエラーを表示
- track: Gitリポジトリに巨大ファイルを追加、ファイル拡張子を指定できる
- untrack: Git LFSからファイルを削除
- push: トラックされたファイルをGit LFSエンドポイントにプッシュ
- status: 変更されたGit LFSオブジェクトのパスを表示
既存のリポジトリに巨大ファイルを追加する方法を以下に示す。
git lfs track "*.pdf"
git add file.pdf
git commit -m "Add design file"
git push origin master
Szasz-Toth氏が述べているように、すでにGit LFSのサポートはAtlassianのグラフィカルGitクライアントSourceTreeに含まれている。
Rate this Article
- Editor Review
- Chief Editor Action