Free push limit

A 100 MiB per-file limit applies when pushing new files to any project in the Free tier.

If a new file that is 100 MiB or large is pushed to a project in the Free tier, an error is displayed. For example:

Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 10 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 100.03 MiB | 1.08 MiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: GitLab: You are attempting to check in one or more files which exceed the 100MiB limit:

- 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 (123 MiB)
- 5716ca5987cbf97d6bb54920bea6adde242d87e6 (396 MiB)

Please refer to for further information.
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to ''

The error lists the unique IDs for files rather than their filename. To look up the file name from the unique identify, run the following command:

tree -r | grep <id>

Because Git is not designed to handle large non-text-based data well, you should use Git LFS for these files. Git LFS is designed to work with Git to track large files.


If you have any feedback to share about this limit, please do so in issue 428188.