Нужен сайт > НОВОСТИ > Заметки > репозитарии > Самый простой способ перехода (миграции) с svn на git (HOWTO)

Самый простой способ перехода (миграции) с svn на git (HOWTO)

  • by

Мне нравится использовать git из-за его простоты и скорости. Недавно я работал над нашим проектом, который использует SVN в качестве системы контроля версий по умолчанию.Я решил перейти на Git, т.к. с ним мне работать удобнее.

Сайт github дает хорошую ссылку о том, как это сделать на компьютере с Linux:  https://help.github.com/articles/importing-from-subversion

Тем не менее, я искал какое-то решение на базе Windows, которое было бы простым в использовании и основывалось на графическом интерфейсе. Поэтому я решил использовать TortoiseGIT , который представляет собой инструмент на основе Windows для git-репозиториев. Вот шаги, которые я использовал, используя tortoiseGit, чтобы клонировать мой SVN-репозиторий в качестве Git-репозитория.

Клонирование через TortoiseGit
Создайте новую папку, в которую вы хотите клонировать хранилище.
Теперь щелкните правой кнопкой мыши на папке и выберите опцию «Git Clone…».
Вы увидите экран клона. Выберите «Из репозитория SVN» и снимите все флажки.


Нажмите ОК.

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

(*) Одна из проблем, с которой вы столкнетесь, заключается в том, что теперь в меню tortoiseGIT вы также увидите опции SVN.

Чтобы удалить это, следующие шаги обеспечивают решение: Зайти в папку .git, отредактировать файл конфигурации, чтобы удалить параметры [svn…] из конфигурации, сохранить и затем удалить. папка svn, которая также находится внутри папки .git.

Экспорт в git репозитарий

Для примера, я создаю репозитарий на бесплатном cvs-хостинге Assembla.

Создаем новый репозитарий:

Нам предлагается выполнить команды для пуша в него:

Выполняем в консоли команды:

git remote add origin https://git.assembla.com/<****_your_repository_name>
git remote -v
git commit -m «initial commit»
git push -u origin master
ИЛИ
git push —set-upstream origin master

Все, заходим на сайт Assembla и убеждаемся что видим git репозитарий со всей историей, взятой из svn:

PS: идея использовать TortoiseGIT взята отсюда

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.