У нас есть git-репозиторий, настроенный по типу git-flow (ish) - у нас есть 3 ветви mainline: dev, release и production.Наш рабочий процесс заключается в том, что новый кусок кода входит в dev, который имеет цикл в две недели.По истечении этих двух недель dev становится «релизом», после чего он тестируется и все исправляется, но новые функции не применяются.Через 2 недели после этого релиз развертывается и становится производственной ветвью, которая на самом деле не затрагивается (за исключением случаев экстренного внепланового исправления)
Из-за этого у нас есть 3 версиибаза данных локально для отслеживания 3-х разных веток.У нас, как правило, много оттока схем, поэтому очень часто изменения, происходящие с ним в ветке dev, могут нарушить то, что находится в выпуске или производстве.
Проблема в том, как вы управляете 3 различныминаборы конфигурационных файлов в одном и том же репозитории git?В настоящее время мы выполняем их .gitignoring и сохраняем 3 локальные версии кодовой базы на любой машине.Однако это не совсем идеально по нескольким причинам, и было бы замечательно, если бы у нас была одна версия репозитория и просто переключаться между ветвями.
Я думаю, я ищу способ проверитьфайл в ветке, и пусть он останется там, но не будет извлечен между объединениями основных ветвей.Таким образом, может быть версия для dev, одна для выпуска и третья для master, но каждая будет изолирована от других.Вроде как .gitignore для слияния.
Это вообще возможно?Кто-нибудь сталкивался с этим раньше?(не могу поверить, что мы единственные) Как ты решил это?