Article version: Enterprise Server 2.14


About Git Large File Storage


Git LFS handles large files by storing references to the file in the repository, but not the actual file itself. To work around Git's architecture, Git LFS creates a pointer file which acts as a reference to the actual file (which is stored somewhere else). GitHub Enterprise manages this pointer file in your repository. When you clone the repository down, GitHub Enterprise uses the pointer file as a map to go and find the large file for you.

As an analogy, say you walk into a restaurant wearing an enormous coat. You hand your coat over to the attendant, and it's exchanged for a ticket that identifies where the coat is stored. After you finish your meal, you hand your ticket to the attendant, who retrieves your coat from storage and returns it to you. Git LFS works the same way.

You can also use Git LFS with GitHub Desktop. For more information about cloning Git LFS repositories in GitHub Desktop, see "Cloning a repository from GitHub to GitHub Desktop."

Pointer file format

Git LFS's pointer file looks like this:

oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5
size 84977953

It tracks the version of Git LFS you're using, followed by a unique identifier for the file (oid). It also stores the size of the final file.

Tip: Git LFS cannot be used with GitHub Pages sites.

Further reading

Ask a human

Can't find what you're looking for?

Contact us