Source control question

Hi, from what I understand about source control (please let me know if im wrong) it seems to be mainly used for submitting small code changes to assets or new blueprints etc. into a project, and not so much about sharing the whole project itself including all of its assets. If during the middle of development, say I wanted to share a new add-on i installed into the project that was a few gigabytes. How do people who are working in different parts of the world update to the newest version of the project and share additions to a project like new assets etc. that would surpass the 100 mb github push limit. Do they just upload the project to a file sharing service and share it that way? Or is there a way to source control new asset additions so you dont have to re-download the project every time there are new assets added, which are large files?