Как объединить в Git репозитории, исходящие из того же оригинального проекта SVN

378
raisercostin

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

Как я могу "слить" их правильно? Какая концепция git подходит для такого слияния?

Рассматривая readme.txtфайл, который существовал в svn, следует видеть, что он был разветвлен и изменен в двух ветвях (двух мастерах git-проектов), после чего был объединен. Это вообще возможно?


Разъяснения:

В моем случае я обнаружил, что namek-0.6 идентичен namek-0.6 секунды. Дерево слева содержит полную историю SVN, в то время как дерево справа оно начало с первого коммита из некоторого снимка SVN. Я хотел бы, чтобы все измененные файлы в namek-0.6 и позже продолжили историю слева.

two different git repos

1
Если вы конвертировали в Git два раза, теперь у вас есть два * несвязанных * репозитория, которые касаются Git. Они просто имеют похожее содержание. Вы можете, конечно, объединить это, но это будет двустороннее объединение. Daniel B 7 лет назад 1
Да, у меня есть два не связанных хранилища. Итак, вы предлагаете мне использовать слияние с --allow-unrelated-history? Разве не лучше выбрать вишню, перебазировать или другие операции? Я подумал, что, может быть, достаточно просто сказать git, что два конкретных коммита делают ветви одинаковыми и заставляют git проверять эквивалентность. raisercostin 7 лет назад 0
Каждая «нормальная» операция Git основана на том факте, что существует общий предок. Что бы вы ни делали, это всегда приведет к двустороннему слиянию. IIRC вы можете использовать некоторую темную магию, чтобы связать два других несвязанных коммита, но я оставил эти знания у моего предыдущего работодателя. Daniel B 7 лет назад 0

0 ответов на вопрос