Подобно тому, как mlambie использует один репозиторий, но пошёл немного дальше со структурой папок, чтобы легко масштабировать до определенного типа проектов - веб-html-проекты против cs (C #) или sql (сценарии создания / выполнения SQL) против .xyz (специфичные для домена языки, такие как afl (язык формулы AmiBroker) или ts (TradeStation)):
/<src|lib>/<app-settings|afl|cs|js|iphone|sql|ts|web>/<ClientName>/<ProjectName>/<branches|tags>
Обратите внимание, у меня есть ствол, живущий в ветвях, поскольку я рассматриваю его как ветвь по умолчанию. Единственная боль иногда возникает, когда вы хотите быстро создать другой проект, вам нужно создать структуру ProjectName / branch | tags. Я использую настройки приложения просто как место для хранения определенных файлов настроек приложений в репозитории, чтобы их можно было легко обменивать с другими (и заменяю ClientName на VendorName и ProjectName на AppName в этой структуре папок; а теги ветвей | могут быть полезны для пометки настроек в различных основных версии продуктов вендора тоже).
Добро пожаловать в любые комментарии к моей структуре - я недавно изменил это на это и пока очень доволен, но иногда нахожу обременительным поддерживать структуры ветвей | тегов для проекта - особенно, если проект является просто настройкой проекта просто для модульного тестирования другого проект.