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 manages this pointer file in your repository. When you clone the repository down, GitHub uses the pointer file as a map to go and find the large file for you.
Using Git LFS, you can store files up to:
| Product | Maximum file size |
|---|---|
| GitHub Free | 2 GB |
| GitHub Pro | 2 GB |
| GitHub Team | 4 GB |
| GitHub Enterprise Cloud | 5 GB |
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:
version https://git-lfs.github.com/spec/v1
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.

