Как перенести репозиторий SVN с историей в новый репозиторий Git? - PullRequest
1459 голосов
/ 17 сентября 2008

Я прочитал руководство по Git, FAQ, Git - SVN и т.д., и все они объясняют то и это, но нигде не найти такой простой инструкции как:

Репозиторий SVN в: svn://myserver/path/to/svn/repos

Git репозиторий в: git://myserver/path/to/git/repos

git-do-the-magic-svn-import-with-history \
svn://myserver/path/to/svn/repos \
git://myserver/path/to/git/repos

Я не ожидаю, что это будет так просто, и я не ожидаю, что это будет одна команда. Но я ожидаю, что он не попытается что-либо объяснить - просто сказать, какие шаги предпринять в этом примере.

Ответы [ 32 ]

0 голосов
/ 30 июля 2015

GitHub имеет импортер. Создав репозиторий, вы можете импортировать его из существующего репозитория по его URL-адресу. Он запросит ваши учетные данные, если это применимо, и пойдет оттуда.

Во время работы он найдет авторов, и вы можете просто сопоставить их с пользователями на GitHub.

Я использовал его для нескольких репозиториев, и это довольно точно и намного быстрее! Это заняло 10 минут для репозитория с ~ 4000 коммитов, а после этого моему другу понадобилось четыре дня!

0 голосов
/ 09 июля 2015

Загрузите установщик Ruby для Windows и установите последнюю версию вместе с ним. Добавьте исполняемые файлы Ruby на свой путь.

  • Установить svn2git
  • Меню Пуск -> Все программы -> Ruby -> Запустить командную строку с Ruby
  • Затем введите «gem install svn2git» и введите

    Хранилище Migrate Subversion

  • Откройте командную строку Ruby и перейдите в каталог, куда должны быть перенесены файлы

    Тогда svn2git http://[domain name] / svn / [корень хранилища]

  • Перенос проекта в Git может занять несколько часов в зависимости от размера кода проекта.

  • Этот важный шаг помогает в создании структуры репозитория Git, как указано ниже.

    SVN (/ Project_components) транк -> Git master SVN (/ Project_components) филиалы -> Git филиалы Теги SVN (/ Project_components) -> Теги Git

Создайте удаленный репозиторий и отправьте изменения.

...