An open source Git extension for versioning large files

Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

Homebrew: brew install git-lfs
MacPorts: port install git-lfs

How it works:

a diagram showing how Git LFS works

Getting Started

  1. Download and install the Git command line extension. You only have to set up Git LFS once.

    git lfs install
  2. Select the file types you'd like Git LFS to manage (or directly edit your .gitattributes). You can configure additional file extensions at anytime.

    git lfs track "*.psd"

    Make sure .gitattributes is tracked

    git add .gitattributes
  3. There is no step three. Just commit and push to GitHub as you normally would.

    git add file.psd
    git commit -m "Add design file"
    git push origin master

Git LFS is an open source project

To file an issue or contribute to the project, head over to the repository or read our guide to contributing.

If you're interested in integrating Git LFS into another tool or product, you might want to read the API specification or check out our reference server implementation.

Features

  • Large file versioning

    Version large files—even those as large as a couple GB in size—with Git.

  • More repository space

    Host more in your Git repositories. External file storage makes it easy to keep your repository at a manageable size.

  • Faster cloning and fetching

    Download less data. This means faster cloning and fetching from repositories that deal with large files.

  • Same Git workflow

    Work like you always do on Git—no need for additional commands, secondary storage systems, or toolsets.

  • Same access controls and permissions

    Keep the same access controls and permissions for large files as the rest of your Git repository when working with a remote host like GitHub.