Я работаю над проектом, который настроен для каждой группы, имеющей серверный клон нашего основного ртутного репозитория. Рабочий процесс, который мы использовали, включает разработку на ноутбуках, фиксацию и передачу в серверные репозитории клонов, а затем передачу этих изменений на мощную удаленную машину для запуска наших тестов. Как только изменения готовы для совместного использования с остальной частью группы, основной клон на стороне сервера извлекается в локальный репозиторий, а локальный репозиторий перераспределяется по отношению к основному клону. Затем изменения могут быть переданы в главный удаленный клон, и история покажет линейную историю.
Проблема заключается в том, что личный серверный клон полностью не синхронизирован с локальным репозиторием, поскольку он не был перебазирован. Мы не используем правильные ветви, поэтому слияние + ребазирование и трансплантация / трансплантация, похоже, не то, что мы использовали бы для синхронизации репозиториев.
Серверный клон должен иметь ту же историю, что и локальный репозиторий, либо он будет извлекать и выдвигать ВСЕ наборы изменений и представлять собой трудоемкий беспорядок разрешения несуществующих конфликтов. Как можно получить клон на стороне сервера, чтобы иметь ту же историю, что и основной и локальный репозитории, без удаления и извлечения из основного? В идеале нам не нужно было бы заходить на сервер.