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 AE manages this pointer file in your repository. When you clone the repository down, GitHub AE 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 200 MiB in your repository.
If you exceed the limit of 200 MiB, any new files added to the repository will be rejected silently by Git LFS.
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."
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.
- Git LFS cannot be used with GitHub Pages sites.
- Git LFS cannot be used with template repositories.