У меня есть центральное голое хранилище, в котором есть три репозитория для разработчиков, которые тянут и толкают к нему нормально.
У меня также есть два других репозитория, которые извлекают данные из чистого репозитория CENTRAL: один - это живой сервер, а другой - сервер тестирования / стадии - каждый из которых извлекает из своей соответствующей ветви.
Сценарий таков: у меня есть post-update
хук-скрипт в репозитории CENTRAL, который автоматически обращается к тестовым и живым репо и запускает команду pull для каждого из них. Это обновляет как тестовые, так и живые серверы, все в зависимости от того, какая ветвь имеет новые коммиты. Это все прекрасно работает.
Проблема заключается в следующем: в чрезвычайной ситуации могут возникать ситуации, когда файлы могут напрямую обновляться на сервере (через ftp или что-либо еще), и сценарий CENTRAL после обновления завершается сбоем, поскольку возникают конфликты слияния / перезаписи. Этого сценария избежать невозможно, и он неизбежен.
Я хотел бы, чтобы это произошло так: я хочу, чтобы при извлечении из живых и тестовых сайтов всегда перезаписывались / объединялись при извлечении. Всегда. Эти репозитории будут доступны только для извлечения, поскольку они не предназначены для разработки.
Во всех моих исследованиях я не могу найти хорошее решение, чтобы вытягивание всегда вызывало перезапись локальных файлов. Это вообще возможно? Это сделало бы отличный сценарий развития, если так.