Проблема
У меня есть два разных репозитория, которые в основном одинаковы.Давайте назовем один RepoA
, а другой RepoB
.
RepoA
- это первый репозиторий, имеющий следующую структуру:
RepoB
является вторым хранилищем.Первый коммит содержит все файлы последнего коммита RepoB
.Поэтому первый коммит в основном является копией, но он имеет следующую структуру:
Итак, весь контент из RepoA/FolderA/2018/
теперь находится в RepoB/FolderA/2019/
плюс некоторые новые изменения, зафиксированные в RepoB
.
Цель
Я недавно вошел в проект и хочу объединить оба хранилища, чтобы получить доступ к истории файла (git log
и т. Д.).
Я хочу следующую структуру:
Подход
- В
RepoA
Я переместил все файлы из FolderA/2018
в FolderA
и удалил FolderA
( то же самое для FolderB
) - Я выбрал начальный коммит из
RepoB
вRepoA
и переместил файлы в каталог вверх (как описано в предыдущем пункте) - Я извлек следующие коммиты в
RepoB
как патч и изменил все пути с поиском и заменой - Iприменил рatch via
git am < patchfile
Задача
Из-за патча ветви удаляются и история становится линейной.Поэтому я сталкиваюсь с проблемами, когда есть коммит, за которым следует слияние, которое разрешает конфликт слияния, введенный коммитом.