Git: Как мне объединить сложные ветви, которые сильно разошлись с некоторой отсутствующей историей? - PullRequest
7 голосов
/ 26 января 2011

У меня есть две "ветви", каждая из которых начиналась с одной и той же базы кода, но обе они были импортированы в git после того, как они разошлись. Предыдущая история утеряна, и, кроме того, в обеих ветвях есть большие изменения, записанные в их истории git.

Какова хорошая стратегия для подхода к объединению функций и исправлений между этими двумя ветвями управляемым способом?

Есть ли инструмент, который поможет мне разделить различия в исходном импорте на значимые коммиты?

1 Ответ

1 голос
/ 27 января 2011

Похоже, вы хотите сохранить историю.Я бы использовал rebase --onto с --preserve-merges для перемещения функций / ошибок в ветку, которую вы хотите продолжить использовать.Если они по какой-то причине находятся в другой структуре, создайте новую ветвь, а затем выполните filter-branch с помощью дерева, чтобы сделать структуру такой же.Затем rebase --onto --preserve-merges, как в первом сценарии.

Надеюсь, это поможет.

...