Я не знаю git очень хорошо.: -/
Фон
У меня есть два несвязанных репозитория документа на основе git, которые я хотел бы объединить в один репозиторий. Я хотел бы сохранить исходные временные метки (начиная с 2005 года) и отдельные истории файлов. В двух репозиториях нет ветвей, нет папок и нет совпадений с именами файлов.
В ASCII-стране это выглядит так:
REPO A |-------------------------|
REPO B |===============|
Если перекрытие обозначает время.
Цель
Моя цель - "застегнуть молнию" на перекрывающиеся временные метки, чтобы два репозитория выглядели как одна непрерывная история:
REPO A+B |-------------------==--=---============|
Что я пробовал
Опять же, я не очень хорошо знаю git, поэтому я мог что-то прикрутить.
Сначала я попытался добавить новое, меньшее репо в качестве удаленного для более крупного, более старого репо, извлечь изменения и зафиксировать результат. Я закончил все новые изменения репо, сложенные вместе в ветке после более старого репо:
MERGE |------------------------- -|
\===============/
Далее я попытался перезагрузить (с --committer-date-is-author-date
), который, как я думал, будет работать, но вместо этого я получаю одну длинную историю фиксации, которая просто складывает два репозитория друг на друга.
REBASE |-------------------------===============|
Я не смог найти способ "переиграть" объединенную историю. Я действительно надеялся, что ответ будет ответом.
Ответы, которые я просмотрел
- Слияние двух репозиториев git без нарушения истории файлов (# 1)
- git rebase без изменения временных меток фиксации (# 2 выше, не "истории на молнии" )
- Как объединить два отдельных несвязанных репозитория git в один с одной временной шкалой истории
- объединение несвязанных репозиториев git, сохраняющих историю/ветки.