Я читал все вопросы здесь по теме контроля версий, но я не думаю, что нашел сценарий, похожий на мой собственный.Version control «best practice»
Сценарий:
мы получили средний/большого размера веб-приложение, которое имеет (по крайней мере, он должен иметь) ядро, которое развертывается для всех клиентов. Когда мы делаем демонстрации приложения для клиентов, почти все они запрашивают изменения в макете или данные в списках или поля в формах ввода данных и т. Д. Почти все эти изменения требуют изменений в оставшихся " слоев "приложения.
В нашей нынешней ситуации мы используем CVS (с tortoiseCVS), и мы не используем ветки, мы используем теги, чтобы различать изменения кода приложения (да, я знаю, что это довольно плохо). Это приносит много проблем, когда мы хотим сделать релиз конкретному клиенту, а также внести изменения и т. Д. ... Для подготовки выпуска всегда требуется около 1-2 дней работы, а иногда все еще ломается.
Иногда запрос от клиента также включается в ядро для распространения среди всех клиентов.
Итак, мой вопрос: являются ли ветви лучшим способом для изоляции изменений клиентских версий приложения? Должны ли мы разворачиваться каждый раз, когда новый клиент запрашивает настройку? Или мы должны рассматривать его как совершенно другой проект с другим хранилищем?
Все версии должны быть сохранены, и поскольку я слышал, что ветви являются «временными», у меня возникают сомнения, если разветвление является лучшим решением.
Благодарим за отзыв.
Антонио Диас
Просто хочу сказать спасибо за все ответы. Даже если это не лучшая стратегия, я собираюсь попробовать стратегию «филиал для клиента». Каждый клиент получает свою собственную долговременную ветвь, и каждый из них получает свои «основные» и «девитовые» ветви. По крайней мере, я думаю, что это будет лучше, чем у нас сейчас. Спасибо всем. –