У меня есть сложный шаблон веб-проекта, в котором файлы можно разделить на три категории.Во-первых, файлы, связанные с настройками, которые должны быть уникальными на каждом сервере, обновляются не часто, но было бы неплохо иметь их в управлении версиями.Во-вторых, файлы разработки, которые являются фактическими файлами, закодированными разработчиками, и являются уникальными для каждого проекта и являются основными файлами для контроля версий.И, наконец, пользовательский контент, который в основном будет тестовыми данными в среде Stage и Development, но должен иметь правильные данные на живом сервере и в идеале также должен контролироваться версией.
В корневой папке каждого проекта есть настройкифайл, который является частью первой группы, затем есть три папки, содержащие файлы для разработки, и, наконец, папка, содержащая изображения для веб-сайта, а также файлы, созданные пользователем.
Что я пробовал:
Я не могу использовать всю папку, так как в этом случае у меня будет один и тот же пользовательский контент в локальном эфире и на сцене, и мне придется перенастраивать файлы настроек каждый раз, когда я нажимаю с локального наstage и from stage to live.
Я попытался использовать основную ветвь для файлов разработки и отдельную ветвь для созданного пользователем содержимого и файлов настроек, а затем просто перенести мастер из локальной в стадию,и т. д. Но когда я делаю оформление заказа на сцене, он удаляет несвязанные файлы.
Я пробовал маРазделяйте отдельные ветви для разработки, пользовательского контента и настроек, а затем, после перехода на стадию, просто объединяете все в мастер.Проблема в этом случае возникает на локальном сервере dev, где процесс фиксации становится слегка запутанным: checkout dev;добавить измененные файлы;совершить dev;кассовый мастер;объединить настройки dev ugc.Я также беспокоюсь, что в этом случае некоторые из отслеживаемых UGC-файлов будут потеряны.
Большой вопрос
Может кто-нибудь предложить новое решение или что-то добавить?к текущим решениям, чтобы сделать их возможными?К сожалению, я не могу использовать отдельные папки, поскольку используемая среда (частная) не позволяет.