Em primeiro lugar, esta questão é provavelmente mais adequada para programadores.programadores. E sim, você está, na minha opinião, vendo isso da perspectiva errada.
Basicamente, resume-se à gestão de dependências. Você deve apenas usar as ferramentas comumente usadas de seu idioma / framework para expressar dependências ao invés de copiar / simbolizar outros projetos.
Se você realmente precisa / quer referenciar outros repositórios git você deve usar git submodule
ao invés de requerer links simbólicos para outros repositórios.
A abordagem melhor e mais limpa é usar o gerenciamento de pacotes de sua distribuição para o gerenciamento de dependências, rpm
ou dpkg
ou apenas deixar que seu sistema ou ferramentas de construção cuidem das dependências, como por exemplo: maven
, bundler
, carton
, openembedded
.