Добрый день!
помогите разобраться с кашей в голове и меркуриалом или подскажите, как наиболее удачно можно организовать следующее:
хочу для проекта сделать три ветки:
- local - локальная разработка
- dev - промежуточная сборка проекта для тестового сервера
- production - финальная сборка проекта (минификация js/css, удаление рыбы и т.д.) - для боевого сервера
То есть как я представляю:
в local - исходники и задания для сборки в gulpgile.js (ver.1 - без минификации, без сжатия картинок и т.д. - для быстрой сборки, но с live-reload)
в dev и production - src не должно быть, должен быть только собранный проект (или нет?)
еще где-то должен быть gulpfile.js (ver.2) - с заданиями для сборки production-версии
что пытался делать:
1) в local добавлял файлы готового проекта в игнор, иначе постоянно регистрируются изменения этих файлов - мне показалось это лишним при разработке, хотелось чтоб в коммитах отображались только изменения исходников. Но тут же столкнулся с проблемой - эти заигноренные файлы не пропихнуть в другие ветки, что логично =\
2) затем попробовал с другой стороны зайти - в local и dev одни и те же исходники, но разные заигноренные gulpfile.js: в dev gulpfile с заданиями для production-сборки. Тут другие проблемы: а) в production попадают исходники, б) эти исходники можно править в любой ветке - либо коллеги по запаре забывают переключаться, либо "делов-то 5 секунд - ща быстренько в проде поправлю" - не хорошо так.
в итоге в голове полная каша =\
еще хотелось бы, чтоб в dev и production файлы могли изменяться только в результате мержа, но никак не руками (ибо пункт 2.б.) - есть ли такая возможность? или я сильно заморачиваюсь?
какую схему хочется в идеале:
разработка в local -> собрали проект (gulpfile-ver.1) -> протолкнули в dev (без исходников - только готовая сборка) -> если все ок, то собрали проект (gulpfile-ver.2) и протолкнули в production, иначе все сначала.