# git-lfs

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

Stars: 14.6k · Language: Go · License: MIT · Categories: Git

- Repository: https://github.com/git-lfs/git-lfs
- Website: https://git-lfs.com
- Page: https://www.trmn.sh/tools/git-lfs

## Install

- Homebrew: `brew install git-lfs`
- mise: `mise use --global git-lfs@latest`

## Overview

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

```bash
# via Homebrew
brew install git-lfs
```

```bash
# via mise
mise use --global git-lfs@latest
```

## Alternatives

- [gh-dash](https://www.trmn.sh/tools/gh-dash.md): Terminal UI for GitHub that lists configurable pull request and issue sections, with vim-style hotkeys, custom actions, and a YAML config file. (Go, 12.7k stars)
- [soft-serve](https://www.trmn.sh/tools/soft-serve.md): Self-hostable Git server with SSH-accessible TUI for command-line repository management and browsing. (Go, 7.3k stars)
- [gitleaks](https://www.trmn.sh/tools/gitleaks.md): Detects secrets like passwords, API keys, and tokens in git repositories, files, and stdin input (Go, 30.6k stars)
- [gh](https://www.trmn.sh/tools/gh.md): Official GitHub CLI tool for managing pull requests, issues, and repositories from the command line (Go, 46.8k stars)
- [lazygit](https://www.trmn.sh/tools/lazygit.md): Terminal UI for git commands with visual interface for staging, committing, branching, and repository management (Go, 83.6k stars)

---

Canonical: https://www.trmn.sh/tools/git-lfs
