Перебазирование для получения «чистой» истории переоценено.Лучший способ сохранить историю - просто выполнить слияние, а не перебазирование.Таким образом, если вам когда-либо понадобится вернуться к ревизии, она будет точно такой же, как та, которую вы тестировали во время разработки.Это также решает вашу проблему с ранее разрешенными конфликтами слияния.
Если вы не заботитесь о сохранении истории, вы можете создать новую ветвь без master, проверить ее, а затем выполнить git read-tree -u -m dev
для обновленияВаше рабочее дерево должно соответствовать ветке dev
.Затем вы можете зафиксировать все в один большой коммит и объединить его в мастер как обычно.