We have multiple projects that are using common binary assets (e.g. images, sounds, 3D models etc.) stored in a folder on a server. Right now, each project adds these assets to their git repository. The result is that we have multiple copies of the same asset across different repositories, and if the asset changes, each of the teams must update them manually from the folder on the server.
We would like to better organize this asset pool, so that each repository stores a reference to a specific asset, such that they can be updated more easily, and thus prevent asset duplication.
How to do this best using git? We thought about submodules, but this would mean creating a submodule for each asset, which doesn't scale well (we have thousands of assets, and each project uses 10-100 of them). Is there a way of creating a single repository with all assets, then selectively cloning some of them in each project repository, but maintaining the references to the asset repository so that they get updated when the original asset changes?