git-lfs logo

git-lfs

Git extension for managing large files by storing them outside the repository with pointer files

install

Git LFS (Large File Storage) is a command line extension that manages large files in Git repositories by replacing them with text pointers while storing the actual file contents on a remote server. Instead of bloating Git repositories with large binary files like PSDs, videos, or datasets, Git LFS tracks these files separately and downloads them on demand.

The tool integrates directly into Git workflows through commands like git lfs track "*.psd" to specify file patterns for LFS management. Once configured, standard Git operations like add, commit, and push work normally, but LFS handles the large file storage transparently. The git lfs migrate command can convert existing repositories to use LFS or export them back to regular Git.

Git LFS works with Git versions back to 2.0.0 and supports Linux, macOS, Windows, and FreeBSD. It's written in Go and distributed as pre-compiled binaries. The tool is particularly useful for teams working with large binary assets, media files, or datasets that would otherwise make Git repositories unwieldy.

Installation

# via Homebrew
brew install git-lfs
# via mise
mise use --global git-lfs@latest

Alternatives & related tools

add a badge to your README

Maintain git-lfs? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/git-lfs.svg)](https://www.trmn.sh/tools/git-lfs?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/git-lfs?utm_source=badge"><img src="https://www.trmn.sh/badge/git-lfs.svg" alt="Featured on trmn" height="20"></a>