Как ораганизовать репозиторий для команды?
Так как приходят новые люди и им нужно показывать только часть кода -- то надо заводить новый отдельный репозиторий. Отслеживать их не сложно. Добавлять и исключать людей не сложно.
А свалку делать не надо.
Тут важный вопрос. Общие части системы можно редактировать, или нет?

Если нет — можно вынести их в отдельные репы, собирать из них nuget модули и публиковать в частном nuget репозитории.

Если нужно редактировать и хочется заморочиться, то можно сделать следующее:


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


Ещё есть вариант отказаться от монолита, удариться в микросервисы. Тогда каждый кусок проекта будет независимым и можно будет его вынести в отдельную репу. Но тут может быть много работы по распилу монолита.