Это не мерзавец, а организационная проблема.Нельзя, чтобы разработчики работали над производством (т.е. с динамическими живыми данными) или производили работу на сайте разработки.Вы, должно быть, тратите невероятное количество времени на разрешение конфликтов слияния.
Чтобы решить эту проблему, разделите два поля - это может быть достигнуто с помощью ограничения времени, примененного поверх gitflow (что кажется хорошим выбором для шаблона git).Тогда ваш консервативный путь к выпуску будет выглядеть примерно так:
1) Менеджер захватывает календарь и определяет даты: замораживание функций, замораживание разработчиков, замораживание контента, релиз.
2) Добавление разработчиковдо момента замораживания функций, затем проведите их интеграционное тестирование и завершите работу над версией до тех пор, пока не заморозите.После этого вы можете быть уверены, что версия больше не будет меняться при разработке.
3) Тогда приходите ребята с контентом и делайте их магию, пока контент не замерзнет.Обычно это не должно мешать функционированию правильно разработанных и протестированных CMS.
4) Проводить тестирование и редактирование.
5) Выпуск.
Но, лучше: Длячто-то с таким проворным потенциалом, как cms, это довольно длительный процесс.Если вы хотите использовать более непрерывную интеграцию, не используйте gitflow, не используйте дискретные выпуски: переход с производства, разработка отдельной функции, тестирование, объединение, исправление ошибок;то же самое для содержания.Сроки здесь: от нескольких часов до нескольких дней, чем короче, тем лучше.Потенциал конфликта слияния будет минимальным из-за жестких временных рамок для изменений в master по сравнению с большой разницей между двумя отдельными выпусками (гибкая разработка Google, непрерывная интеграция).
Слово об отделении контента: Когда вы говорите, что выС трудом объединяя функциональность с контентом, здесь возникает еще одна проблема: контент не должен мешать программируемым функциям, особенно в системе управления контентом.Если это произойдет, вам нужно либо больше разделять разработчиков и пользователей, либо - намного лучше - заставить их больше общаться друг с другом.Определите процессы, которые объединяют обе стороны и делают организационно невозможным создание конфликтующих творений путем совместной работы.Пусть они сидят вместе, если это возможно.Смена мест в зависимости от того, кто работает над тесно связанными темами.Как минимум, проводите регулярные (ежедневные) групповые встречи и создавайте возможность общаться между ними.Уложите свои временные рамки (говоря о действительно небольших кусочках работы между этапами, не больше давления для всего этого ...).