Я работаю над восстановлением истории кодовой базы. Я восстановил commits lost at the root моего git repo и теперь обнаружил новое осложнение.Восстановить историю расходящегося, затем конвергентного репо
Большая часть кода была разделена на отдельную кодовую некоторое время ... а потом слился обратно.
Main repo: A -- B -- C -- D -- E
| ^
Code moved: | |
V |
Other repo: X -- Y -- Z
Когда раскол (и слияние) произошло, файлы просто копируются в целевой репо, и история была потеряна.
Чтобы усложнить ситуацию, файлы были слегка изменены для каждой копии перед фиксацией, поэтому вполне вероятно, что мне понадобится дополнительная фиксация для этих изменений.
Это приводит меня к двум вопросам:
Будет ли возможность заменить совершить D
(который копирует файлы обратно в) с нижней ветвью (X-Y-Z
)? (Это мой приоритет.)
Если возможно, будет ли возможно восстановить историю файлов, созданных при фиксации X
?
Существует около 300 коммитов на «другом» репо и около 5000 на «основном» репо от D
и далее.
Возможно, я подозреваю, что git-rebase
, но в идеале, я хотел бы использовать git-filter-branch
, так что мне не нужно вручную разрешать конфликты исторического слияния.