git lfs – Git Large File Storage

リポジトリ管理 改行コード変換(LF/CRLF)

git lfs (Git Large File Storage) は、Git リポジトリで大容量ファイル(画像、動画、音声、バイナリなど)を効率的に扱うための拡張機能です。
大きなファイルを直接 Git に保存するのではなく、Git にはポインタ情報のみを記録し、実体は LFS サーバーに保存する仕組みです。

構文(Syntax)

git lfs <サブコマンド> [オプション]

主なサブコマンド一覧

サブコマンド説明使用例
installGit LFS を初期化(フックを設定)git lfs install
track <pattern>LFS で管理するファイルパターンを指定git lfs track "*.psd"
untrack <pattern>LFS 管理から除外するgit lfs untrack "*.psd"
ls-filesLFS で管理されているファイル一覧git lfs ls-files
statusLFS ファイルの状態を確認git lfs status
fetchリモートから LFS オブジェクトを取得git lfs fetch
pullLFS オブジェクトをダウンロードして作業ツリーに展開git lfs pull
pushLFS オブジェクトをアップロードgit lfs push origin main
locksロック状態を確認git lfs locks
lock <file>ファイルをロックgit lfs lock largefile.bin
unlock <file>ロック解除git lfs unlock largefile.bin

実行例

Git LFS を有効化

git lfs install

特定の拡張子を LFS で管理

git lfs track "*.zip"

出力例:

Tracking "*.zip"

.gitattributes に記録される)

LFS で管理されているファイルを確認

git lfs ls-files

LFS 対象ファイルを含むリポジトリを clone

git clone https://github.com/example/repo.git
cd repo
git lfs pull

リモートに大容量ファイルを push

git add bigdata.csv
git commit -m "Add big data file"
git push origin main

ファイルをロック

git lfs lock design.psd

エラー例(LFS が未インストール)

git lfs track "*.psd"

出力例:

git: 'lfs' is not a git command. See 'git --help'.

関連コマンド

  • git config : LFS 設定の確認や変更に利用。
  • git clone : LFS 対応リポジトリの取得時に git lfs pull が必要。

備考

  • .gitattributes ファイルに LFS 対象パターンが保存され、リポジトリ全体で共有されます。
  • GitHub / GitLab / Bitbucket など主要なホスティングサービスが LFS をサポートしています。
  • 無料枠を超えるとストレージ・帯域に課金される場合があります。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント