Я начал использовать Git в середине моего проекта, где первые две коммиты - это только некоторые начальные настройки (.gitignore и .gitattributes), а третий commit M2 добавляет содержимое соединительной линии SVN:
I1 -- I2 -- M2 -- N -- .. -- Z
Я импортировал историю SVN в ветки с именем svn, где M1 - это соединительная линия SVN (с тем же содержимым, что и M2 кроме .gitignore и .gitattributes):
A -- B -- ... -- K -- L -- M1
Q: Каков наилучший подход при объединении обеих ветвей?
Я мог бы объединить M1 и M2 в M3, а затем rebase, но я не знаю, как удалить I1 и I2, и если я могу безопасно удалить фиксацию M3 (я нашел несколько советов, чтобы сохранить комманды слияния, но в этом случае M3 больше не нужно).
A -- B -- ... -- K -- L -- M1
\
M3 -- N' -- .. -- Z'
/
I1 -- I2 -- M2 -- N -- .. -- Z
Другой способ - выбрать N Z. Z совершает переход в ветвь svn, но я бы хотел избежать этот подход.
Наиболее элегантным решением было бы переустановить изменения, внесенные N.. Z завершается поверх ветки svn, но я didn 't нашел еще требуемый синтаксис для двух ветвей без общего предка.