Веб-приложение представляет собой настраиваемую CMS, которая имеет несколько подзадач, и каждый из них имеет код и контент, находящиеся в одной и той же структуре каталогов. Из-за архитектуры структуры приложения код и контент переплетаются (контент зависит от кода его отображения и других функций) и, следовательно, неотделимы. Содержимое не хранится как BLOB, а хранится как файлы, а базовая БД используется для их связывания. Размер суб-приложений варьируется от 20 ГБ до 250 ГБ и более (это убийца).
В веб-приложении появятся некоторые улучшения в коде (новые подзадачи, исправления ошибок и т.д.), и в то же время пользователи будут добавлять/обновлять содержимое через уже действующую систему. Следовательно, требуется процесс развертывания/выпуска, и, самое главное, система управления версиями должна предлагаться как для кода, так и для контента.
Git приходит к картине из-за причин - она открыта и свободна, легкость разветвления и слияния, ее не централизована и, следовательно, не имеет единственной точки отказа.
НО после некоторых начальных исследований в Интернете я обнаружил некоторые неутешительные факты, которые применимы к нашему приложению - использование Git для больших систем, таких как наша, является болезненным (checkout, clone, merge, push, pull), а команды сложный ( "geeky" был бы более уместным) для базы разработчиков, которая является DVCS неосведомленной и в основном пользователями Windows.
Нет никакого фиксированного мышления для Git, но если мне нужно пойти на централизованный подход (в самом деле на самом деле WORST), то каким должен быть способ (CVS и SVN в отдельности). Я читал о том, что Perforce является стабильным, и он также используется в Google (я ожидаю, что здесь есть некоторые удары!).
Просьба поделиться, просмотреть и прокомментировать свои мнения. Я действительно требую их.