With Git LFS enabled, you'll be able to fetch, modify, and push large files just as you would expect with any file that Git manages. However, a user that doesn't have Git LFS will experience a different workflow.

If collaborators on your repository don't have Git LFS installed, they won't have access to the original large file. If they attempt to clone your repository, they will only fetch the pointer files, and won't have access to any of the actual data.

Tip: To help users without Git LFS enabled, we recommend you set guidelines for repository contributors that describe how to work with large files. For example, you may ask contributors not to modify large files, or to upload changes to a file sharing service like Dropbox or Google Drive.

Viewing large files in pull requests

GitHub can show any text file within a pull request, as well as several non-text files.

For files that GitHub can't render, only the pointer file is shown:

Sample PR for large files

In order to view changes made to these large files, check out the pull request locally to review the diff.

Pushing large files to forks

Pushing large files to forks of a repository count against the parent repository's bandwidth and storage quotas, rather than the quotas of the fork owner.

You can push Git LFS objects to public forks if the repository network already has Git LFS objects or you have write access to the root of the repository network.

Further reading