Я никогда не пробовал, что вы хотите, но я делаю что-то похожее с CVS.
По сути, я бы предложил:
- Создайте новый репозиторий git с историей из SVN
- В этом новом репозитории
git fetch
все из репозитория git (общих коммитов не будет)
- Затем
git branch remote/branch branch-last
и git rebase --onto svn-last remote/branch-first branch-last
, где remote/branch-first
- это первая фиксация вашего импортированного репозитория git и т. Д.
Если у вас больше ветвей, все будет сложнее. Я думаю, что может повторить шаг 3, но вам лучше попробовать себя. Если в вашей истории git есть слияния, вам может понадобиться git rebase -i -p ...
. Помните, преимущество git в том, что вы ничего не можете испортить (особенно если вы работаете в отдельном репозитории).