# git-lfs/git-lfs

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/git-lfs-git-lfs).**

14,336 stars · 2,226 forks · Go · NOASSERTION

## Links

- GitHub: https://github.com/git-lfs/git-lfs
- Homepage: https://git-lfs.com
- awesome-repositories: https://awesome-repositories.com/repository/git-lfs-git-lfs.md

## Topics

`git` `git-lfs` `go`

## Description

Git Large File Storage is a Git extension that replaces large binary assets with lightweight pointers to keep repository history fast and lean. It functions as a remote binary asset store, hosting large files on a separate server instead of storing them directly in the Git history.

The system includes a binary file locking mechanism to prevent concurrent edits on large assets, ensuring only one user can modify a file at a time. It also provides a virtual file system mount to expose large assets as a local filesystem without requiring a full manual checkout, and a history migration tool to convert existing large files into a pointer-based storage system.

The project covers binary asset workflows and repository optimization, specifically for managing high-resolution textures and 3D models in game development. These capabilities extend to versioning large files and caching assets to reduce latency and bandwidth usage.

## Tags

### Repository Format

- [Pointer-Based File Replacement](https://awesome-repositories.com/f/repository-format/pointer-based-file-replacement.md) — Replaces large binary assets with lightweight pointer files to keep the Git repository history lean.
- [Remote Binary Asset Stores](https://awesome-repositories.com/f/repository-format/remote-binary-asset-stores.md) — Provides a remote storage system for large binary files, keeping them separate from the main Git history to ensure performance.
- [Large File Storage (LFS)](https://awesome-repositories.com/f/repository-format/large-file-storage-lfs.md) — Offloads oversized binary files to separate storage to maintain Git repository performance. ([source](https://github.com/git-lfs/git-lfs/wiki/Implementations))

### Data & Databases

- [Content-Addressable Storage](https://awesome-repositories.com/f/data-databases/content-addressable-storage.md) — Uses content-addressable storage to index and store large files by their SHA-256 checksums.
- [Binary Asset Locking](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/file-based-storage/local-file-storage/local-file-writing/locked-file-writers/asynchronous-file-locking/binary-asset-locking.md) — Prevents concurrent edits on large binary assets by implementing a locking mechanism. ([source](https://github.com/git-lfs/git-lfs/wiki/Implementations))
- [Local Data Caches](https://awesome-repositories.com/f/data-databases/data-caching/local-data-caches.md) — Maintains a local data cache of binary assets to reduce redundant network requests and bandwidth usage.
- [Asset Caching](https://awesome-repositories.com/f/data-databases/dataset-management-tools/in-memory-caching/asset-caching.md) — Caches large assets locally to reduce latency and bandwidth during retrieval from remote servers. ([source](https://github.com/git-lfs/git-lfs/wiki/Implementations))
- [Virtual File Systems](https://awesome-repositories.com/f/data-databases/virtual-file-systems.md) — Implements a virtual filesystem that exposes remote assets as local files without requiring a full manual checkout.

### Development Tools & Productivity

- [Binary Asset Workflows](https://awesome-repositories.com/f/development-tools-productivity/binary-asset-workflows.md) — Provides a workflow for handling large binary assets to avoid slowing down clones and bloating history.
- [Collaborative File Locking](https://awesome-repositories.com/f/development-tools-productivity/feature-flags/system-flag-unlocking/system-file-lock-management/collaborative-file-locking.md) — Implements a binary file locking system to prevent concurrent edits on large assets.
- [Git Repository Optimizers](https://awesome-repositories.com/f/development-tools-productivity/git-repository-optimizers.md) — Optimizes Git repository size by moving heavy binary blobs to a separate remote storage system.
- [History Rewriting](https://awesome-repositories.com/f/development-tools-productivity/history-rewriting.md) — Provides utilities to rewrite the commit history to replace large binary blobs with lightweight pointers.
- [Git History Cleaners](https://awesome-repositories.com/f/development-tools-productivity/git-history-cleaners.md) — Provides a tool to convert existing large files in history into pointers, reducing total repository size.

### DevOps & Infrastructure

- [Git Large File Storage](https://awesome-repositories.com/f/devops-infrastructure/git-large-file-storage.md) — Manages large binary assets through a pointer-based versioning extension for Git.

### Web Development

- [Binary Conflict Prevention](https://awesome-repositories.com/f/web-development/binary-conflict-prevention.md) — Prevents binary merge conflicts by ensuring only one user can modify a locked asset at a time.

### Game Development

- [Game Asset Management](https://awesome-repositories.com/f/game-development/game-asset-management.md) — Supports the management, versioning, and storage of high-resolution game textures and 3D models.

### Operating Systems & Systems Programming

- [Remote Repository Mounts](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-mounting/remote-repository-mounts.md) — Mounts remote LFS repositories as virtual filesystems for seamless asset browsing. ([source](https://github.com/git-lfs/git-lfs/wiki/Implementations))
- [Virtual Asset Mounts](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-mounting/virtual-asset-mounts.md) — Exposes remote binary assets as a local filesystem to allow browsing and access without full checkouts.

### Software Engineering & Architecture

- [Clean-Filter Integrations](https://awesome-repositories.com/f/software-engineering-architecture/lifecycle-event-hooks/command-lifecycle-hooks/git-hook-lifecycle-integrations/clean-filter-integrations.md) — Implements Git clean and smudge filters to automatically swap pointer files with actual binary assets.
