fbpx

How to upload large files (100mb+) to Github

How to upload files up to 25mb to Github.

If you want to upload files that are up to 25mb in size, you can upload it using the command line just like you would push anything else to github

But, you can also upload files up to 25mb using the github user interface.

Github user interface to upload files up to 25mb in size

How to upload files that are up to 100mb

If a file is larger than 25mb, you cannot upload it using the github user interface. You have to upload it using the command line. It is as simple as git push just like you would any other file.

How to upload files larger than 100mb using github large file storage

To upload files larger than 100mb to github, you will need to use github large file storage system (Github LFS).

WARNING: You cannot use github LFS with “forked repo”. Git will reject the commit when you try to push it to github. Git LFS has to be done on your own personal repo.

How to use GIT Large File Storage (LFS) to upload files larger than 100mb

How to install git lfs on windows and/or mac

Put git lfs on your local machine.

Step 1: For windows – Download git lfs using this link https://github.com/git-lfs/git-lfs/releases/download/v2.11.0/git-lfs-windows-v2.11.0.exe

For Mac – Download git lfs for mac using this command brew install git-lfs

Associate git lfs with your github account..

Step 2 : For windows – Find the git lfs file you just downloaded and run the program.
After Installing git lfs program, go to your command line and run git lfs install

NOTE: You only need to run the above command ONCE per user account. This process installs git for your github account.

For mac – Proceed to step 3

# Installation process in a nutshell

# ON WINDOWS

# Download git lfs using this link https://github.com/git-lfs/git-lfs/releases/download/v2.11.0/git-lfs-windows-v2.11.0.exe

# from the command line, run the code below ONCE. 
# you will never have to run this code again for your github account

git lfs install

# ON MAC
# just run the code below to install git lfs on our computer and proceed to step 3 below. 

brew install git-lfs

Track the files you want added to git lfs

Step 3: For mac and windows – Using the command line, type git lfs track "*.csv"

This basically tracks all the files that ends in “.csv”. You could alternatives put something like git lfs track "*.mp4" Basically, the large files over 100mb you want tracked with git lfs is what you will add here.

Instead of tracking all the csv or mp4 files, you can also specify the individual file you want tracked. for example, you could do git lfs track "file.wav"

Note: You have to do the "git track" for each repository where you want to use git LFS to manage large files. You can still use git LFS to track files that are under 100mb

Step 4: For mac and windows – Make sure you are tracking your git attributes by typing git add .gitattributes

# Git Large File Storage Process in a nutshell

# add the files you want tracked. 
# add all csv files to git lfs tracking
git lfs track "*.csv"

# add all mpt files to git lfs tracking
git lfs track "*.mp4"

# add individual files to git lfs tracking
git lfs track "file.wav"

# add git attributes
git add .gitattributes

Step 5: Continue using git like you normally would. Just git add, commit, push as usual. for example

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

What is the limit on Github Large File Storage (LFS)

GIT LFS STORAGE LIMITS: Git lfs is free to use, but that freedom comes with a limit. If you want to use git lfs for storage, you can upload up to 1GB of things using git lfs. And, you have 1GB of bandwidth.

If you want more storage or bandwidth, you have to pay github $5 per month. This $5 per month gets you 50GB of storage and 50GB of bandwidth per month.

Github large file storage(LFS) limit

Additional resources on git LFS.

I hope you learned how to upload files larger than 100mb using GIT LFS. Let me know what you think in the comment section below.

Check out my latest blog posts BELOW

Leave a Comment

Scroll to Top