Ситуация
У меня есть репозиторий Git и репозиторий SVN, которые содержат одинаковый исходный код, но разные истории коммитов. В репозитории Git есть много небольших комментариев с комментариями ... в то время как в репозитории SVN есть несколько огромных коммитов с комментариями типа «Много вещей».
Обе серии коммитов следуют тем же изменениям, внесенным в код, и примерно эквивалентны.
Желаемый результат
Я хотел бы перейти на использование Git-SVN без потери подробной истории текущего репозитория Git. Это должно быть сделано путем «прививки» истории из репозитория Git на ветку SVN проекта (ветвь с того момента, когда я действительно начал использовать Git).
Зачем вы это делаете? (История)
Некоторое время назад я начал играть с Git. Я начал с настройки Git-репо в проекте, который находился под контролем SVN. С небольшой настройкой у меня были и Git, и SVN, работающие параллельно над одним и тем же исходным кодом.
Для меня это был отличный способ учиться и играть с Git, но при этом у меня была сеть безопасности SVN. Это была песочница с реальными данными в принципе. У меня не было времени, чтобы по-настоящему изучить Git, но я действительно хотел с этим повозиться. На самом деле это был довольно хороший способ выучить Git для меня.
Сначала, после внесения некоторых изменений, я обязался сделать SVN, а затем Git ... затем поиграть с Git, зная, что мои изменения были в безопасности в SVN. Вскоре я стал чаще делать коммиты в Git, чем в SVN ... Теперь коммиты в SVN выпали на надоедливую рутинную работу, которую мне приходится иногда делать.
Когда я узнал разницу между git revert
и svn revert
, я был ОЧЕНЬ рад, что регистрировался в репозитории SVN. Я почти потерял работу за несколько недель, предполагая, что они работали одинаково.
Теперь я знаю славу Git-SVN и с удовольствием использую его в нескольких других проектах.
Когда я начал, я полностью осознал, что я могу потерять репозиторий Git и мне нужно правильно настроить новый, используя git-svn init
... но, поиграв с Git некоторое время, я уверен, что есть какой-то способ взлома История Git в SVN.