Одна из возможностей - оставить это на усмотрение вашего процесса сборки / развертывания.
Итак, для Web.config вы должны иметь следующее в SVN:
Web.config (это может быть ваша версия для разработки)
Web.config.qa (если у вас есть среда qa)
Web.config.prod
Во время сборки / развертывания ваш процесс развертывания «знает», в какую среду он развертывается (на основании того, как вы управляете этим - переменные среды, параметры сценария и т. Д.), И заменяет правильный файл конфигурации вместо него.
Я предпочитаю этот метод, потому что он оставляет вашу директорию и структуру файла нетронутыми (в отличие от наличия папки конфигурации), а также избегает ненужных веток и трудностей слияния. Это требует усердия в обеспечении того, чтобы все файлы обновлялись при внесении изменений, которые не зависят от конкретной среды, но вы будете платить эту цену независимо от стратегии.