Тут важный вопрос. Общие части системы можно редактировать, или нет?
Если нет — можно вынести их в отдельные репы, собирать из них nuget модули и публиковать в частном nuget репозитории.
Если нужно редактировать и хочется заморочиться, то можно сделать следующее:
- Сделать репозитории для небольших подсистем
- Для каждого проекта сделать по репозиторию, составить список подсистем, которые в нём используются и
- В репозиторий проекта добавить подсистемы через https://git-scm.com/book/en/v2/Git-Tools-Submodules
- Добавить код, уникальный для проекта в виде отдельных папок в репозитории проекта.
- Постараться не запутаться во всём этом великолепии и не сломать друг другу работу.
Ещё есть вариант отказаться от монолита, удариться в микросервисы. Тогда каждый кусок проекта будет независимым и можно будет его вынести в отдельную репу. Но тут может быть много работы по распилу монолита.