Git Large File Storage
Git Large File Storage (Git LFS) keeps large file contents outside a Git repository and puts text pointers in their place.
What Git Large File Storage is
Git Large File Storage (Git LFS) keeps large file contents outside a Git repository and puts text pointers in their place. The project names audio samples, videos, datasets, and graphics as examples, and says files as large as a couple of gigabytes can be versioned. Storing the contents remotely helps keep repositories manageable, while downloading less data can make cloning and fetching faster. The project says Git LFS fits the usual Git workflow without extra commands, separate storage systems, or toolsets. With a remote host such as GitHub, large files use the repository's access controls and permissions. Hosting options include remote servers such as GitHub.com or GitHub Enterprise; the project also provides a reference server implementation. Integrations listed include GitHub, GitHub Enterprise, GitLab, Azure DevOps, Bitbucket Cloud, and Bitbucket Server. Precompiled client binaries are listed for macOS, Windows, Linux, and FreeBSD. The open-source client costs nothing. Tracking rules do not convert existing files; migrating history rewrites it and changes Git object IDs.
Good
- Keeps large contents outside the Git repository.
- Supports files as large as a couple of gigabytes.
- Can reduce data downloaded during cloning and fetching.
- Uses repository access controls with hosts such as GitHub.
- Precompiled binaries are listed for four operating systems.
Watch out
- Requires a remote server for file contents.
- Tracking rules do not convert existing files.
- History migration changes Git object IDs.
Who it suits
Git LFS suits developers and teams whose repositories include large assets such as video, graphics, datasets, or audio. It is also relevant when repository access permissions should govern access to those files through a remote host.
Verdict
Git LFS is a free Git extension for managing large files without keeping their contents in the repository. Account for its remote-storage requirement and the history changes involved in migration.
Plans and prices
From Git Large File Storage's own pricing page, checked 30 Sep 2001.
| Plan | Price | What it gives you |
|---|---|---|
| Git LFS client | Free | Open-source Git extension; stores file contents on a remote server |
The facts
Each one read from Git Large File Storage's own pages, with the date it was checked.
What it does
- Access controls
- When used with a remote host such as GitHub, large files use the same access controls and permissions as the rest of the Git repository.checked 30 Sep 2001
- File size
- The site says Git LFS can version files as large as a couple of gigabytes.checked 30 Sep 2001
- File types
- The site names audio samples, videos, datasets, and graphics as examples of files managed by Git LFS.checked 30 Sep 2001
- Hosting
- Git LFS stores file contents on a remote server such as GitHub.com or GitHub Enterprise; the project also provides a reference server implementation.checked 30 Sep 2001
- Installation
- The project README lists precompiled client binaries for macOS, Windows, Linux, and FreeBSD.checked 30 Sep 2001
- Integrations
- The project wiki lists Git LFS support for GitHub, GitHub Enterprise, GitLab, Azure DevOps, Bitbucket Cloud, and Bitbucket Server.checked 30 Sep 2001
- Migration limit
- Selecting file types with git lfs track does not retroactively convert existing files; migrating history rewrites it and changes Git object IDs.checked 30 Sep 2001
- Performance
- Git LFS downloads less data for repositories that deal with large files, enabling faster cloning and fetching.checked 30 Sep 2001
- Purpose
- Git LFS replaces large files in Git with text pointers and stores their contents on a remote server.checked 30 Sep 2001
- Repository size
- External file storage helps keep Git repositories at a manageable size.checked 30 Sep 2001
- Security
- The project says releases are signed with an OpenPGP key of a core team member and provides signed hashes for verification.checked 30 Sep 2001
- Security reporting
- The security policy directs client vulnerability reports to core team members by email and API service vulnerability reports to the relevant hosting company.checked 30 Sep 2001
- Support
- The README points users to official documentation, a FAQ, GitHub discussions, and issues, where a core team member will respond to opened issues.checked 30 Sep 2001
- Workflow
- The site says users can keep their usual Git workflow without additional commands, secondary storage systems, or toolsets.checked 30 Sep 2001
Alternatives to Git Large File Storage
- 1

Azure Test Plans
Free planWebAPIExtensionLinux8.1From $6 a month - 2

Unity Version Control
Free planWebAPILinuxmacOS8.1Free plan - 3
Bitbucket Pipelines
Free planWebAPILinuxmacOS7.9From $3.65 a month - 4

Unity
Free planAndroidiOSWebLinux7.8Free plan - 5

Gerrit Code Review
Free planOpen sourceWebAPILinuxmacOS7.6Free plan - 6

SmartGit
Free planLinuxmacOSWindows7.1Free plan
