Скажем, у нас есть следующая настройка разработки:
- Команда 1 в местоположении A с центральным ртутным репозиторием, в котором работают все эти команды, подталкивается
- Команда 2 в местоположении B (на полпути вокруг света от команды 1 и с нестабильным подключением к Интернету) с собственным центральным ртутным репозиторием, где все эти команды работают
Как я могу безопасно синхронизировать центральные репозитории из команды 1 и 2, не сталкиваясь с проблемами слияния / нескольких головок и т. Д.?
Я бы предположил, что запланированное push / pull из одного из репозиториев (например, в местоположении A) в / из другого справится с этим, но как мне справиться с ситуациями, когда задействовано несколько голов?
Например: команда 1 отправляет фиксацию, в то же время команда 2 также отправляет. Теперь, когда репо в местоположении A извлекает изменения, оно получает несколько голов. Что мне теперь делать? Может ли решение здесь заключаться в том, чтобы позволить разработчику из команды 1 (в местоположении A) объединить головы и отправить их обратно в свое центральное репо, чтобы следующий запланированный push в местоположение B подтолкнул слияние? Это привело бы к проблемам, если бы команда 2 уже поместила другие изменения в свой центральный репозиторий, верно?
Есть ли другое решение этой проблемы?
Чего я хочу избежать, так это того, что команде 2 приходится ждать стабилизации подключения к Интернету, чтобы вернуть свои изменения команде 1 ...
Буду рад любой помощи здесь ;-)