Я нахожусь в ситуации, когда я пытаюсь преобразовать проект с открытым исходным кодом в Git, и недавно я получил доступ к историческим данным для проекта. Однако я уже внес изменения в репозиторий, поэтому хочу добавить эти ранние изменения по мере того, как git фиксирует в начале дерева коммитов в Git. (Да, я знаю, что это изменит SHA для последующих коммитов; это приемлемо.) Данные предоставляются в виде последовательных снимков рабочего каталога. Я хочу настроить его так, чтобы состояние рабочего каталога для последующих коммитов не затрагивалось (я не хочу объединять изменения в).
Например, если начальный коммит B добавляет файлы a и b в рабочий каталог, а мой исторический коммит A добавляет файл a , я хочу сделать новый коммит B' родившийся из A который добавляет только файл b . И в B и в B' рабочий каталог выглядит одинаково, и любые последующие коммиты поверх B могут быть безопасно перебазированы в B' .
Возможно ли сделать это в Git? Если так, то как?
Изменить: Обратите внимание, что мне нужно изменить первоначальный коммит. Стандартное использование git commit добавляет новый коммит как дочерний элемент HEAD commit, и поэтому не работает для начального коммита, у которого нет родителя.
