Store arbitrarily large files on GitHub for free.
GitHub caps commits at ~25-50 MiB. Larger files normally require a paid LFS subscription.
This script avoids LFS by splitting large files into commit-sized chunks and reassembling them later.
_________________
| : : |
| : : |
| : : |
| : : |
| :___________: |
| _________ |
| | __ | |
| || | | |
\____||__|_____|__|
Usage:
# upload to github:
# move data outside of repo, compress, chunk, upload one-by-one
tar -czvf merged.tar.gz <huge-directory/>
./upload.sh ./../merged.tar.gz
# download from github:
# clone, merge chunks back together, verify checksum
git clone <https://github.com/user/project>
cd <project>
./download.sh