Also important to not fall down the hole in a couple of years where these shared libraries are being used all over the place and changing them becomes hard. Good to always question if they should be a module or perhaps their own api.
git submodules are designed to solve this problem and do so very well, allowing each project that uses a shared module to include whatever version it pleases, yet allowing the project using the shared module to update/rollback to a newer/older version.