обрабатывать разные версии конфигурационного файла в одном репо - PullRequest
0 голосов
/ 06 февраля 2012

У нас есть git-репозиторий, настроенный по типу git-flow (ish) - у нас есть 3 ветви mainline: dev, release и production.Наш рабочий процесс заключается в том, что новый кусок кода входит в dev, который имеет цикл в две недели.По истечении этих двух недель dev становится «релизом», после чего он тестируется и все исправляется, но новые функции не применяются.Через 2 недели после этого релиз развертывается и становится производственной ветвью, которая на самом деле не затрагивается (за исключением случаев экстренного внепланового исправления)

Из-за этого у нас есть 3 версиибаза данных локально для отслеживания 3-х разных веток.У нас, как правило, много оттока схем, поэтому очень часто изменения, происходящие с ним в ветке dev, могут нарушить то, что находится в выпуске или производстве.

Проблема в том, как вы управляете 3 различныминаборы конфигурационных файлов в одном и том же репозитории git?В настоящее время мы выполняем их .gitignoring и сохраняем 3 локальные версии кодовой базы на любой машине.Однако это не совсем идеально по нескольким причинам, и было бы замечательно, если бы у нас была одна версия репозитория и просто переключаться между ветвями.

Я думаю, я ищу способ проверитьфайл в ветке, и пусть он останется там, но не будет извлечен между объединениями основных ветвей.Таким образом, может быть версия для dev, одна для выпуска и третья для master, но каждая будет изолирована от других.Вроде как .gitignore для слияния.

Это вообще возможно?Кто-нибудь сталкивался с этим раньше?(не могу поверить, что мы единственные) Как ты решил это?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Если вы говорите о конфигурациях среды, вы можете иметь конфигурацию для каждой среды, например dev.config, test.config, production.config и т. Д. В ветке dev можно внести изменения в dev.config.После того, как он будет протестирован и наступит время для выпуска, конфигурация тестирования / производства в выпуске может быть обновлена ​​и протестирована соответствующим образом.Не имеет смысла иметь одну конфигурацию для всех сред.

0 голосов
/ 06 февраля 2012

Manojlds прав: лучше всего использовать отдельные конфигурационные файлы (без проблем слияния).

Лучше всего объединить эти "файлы конфигурации значений" с драйвером фильтра содержимого, чтобы автоматически генерировать при оформлении заказа (с помощью сценария "smudge" правильный и окончательный (но не версионный) файл конфигурации.

См. Вопрос " Что-то вроде gitignore, но не gitignore ", чтобы узнать больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...