home / github / git-lfs

Git LFS

14k

Git extension for tracking large files, migrating history to LFS pointers, and locking binary assets in repositories.

$brew install git-lfs
Language
Go
Stars
14,120
Category
GitHub & Git
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

Git LFS extends Git with pointer-based storage for large files so repositories can track binaries without storing the full blobs in normal Git history. It also covers migration, fetch and pull workflows, and optional file locking for teams working with large assets.

What It Enables
  • Track file patterns in .gitattributes so large binaries are stored as LFS pointers while normal Git commits stay smaller.
  • Inspect LFS-tracked files, fetch or pull object content, and see what large objects are staged, downloaded, or still missing.
  • Migrate existing repository history into or out of LFS, and lock shared binary files to coordinate edits on supported remotes.
Agent Fit
  • Several high-value commands expose stable --json output, including status, ls-files, track, fetch, lock, locks, and unlock.
  • Most day-to-day commands are non-interactive and scriptable, but behavior is tightly coupled to the current repo, Git hooks, and remote LFS server support.
  • Best used inside inspect/change/verify loops for repositories that already use large binaries, not as a general-purpose file transfer CLI.
Caveats
  • git lfs migrate rewrites history by default, so automation needs explicit validation and coordinated force-pushes.
  • Value is narrow outside repos that actually use Git LFS, and some workflows depend on credentials plus a compatible hosting service.