Почти все разработчики по всему миру используют программное обеспечение для контроля версий для управления своим кодом и обмена им же.
SVN всегда был хорошим выбором.
Однако теперь Git пользуется большим спросом, и люди все больше и больше перемещают свое внимание на Git как на систему управления версиями.
Но что насчет старых репозиториев SVN?

Мы также можем перенести старые репозитории SVN в Git с помощью небольшого симпатичного приложения с открытым исходным кодом под названием «svn2git».

Svn2git — красивое небольшое приложение, которое можно использовать для миграции репозитория SVN.

Он правильно переносит репозиторий SVN вместе с его транком, ветками и тегами.
Эта утилита гарантирует, что теги и ветки ваших SVN-репозиториев были импортированы осмысленным образом, чтобы они находились там, где должны.

Как перенести SVN в GIT

Установка

Нам необходимо, чтобы в нашей системе были установлены git, git-svn и ruby, прежде чем мы сможем установить svn2git.

Нам требуется git-svn, поскольку svn2git использует git-svn для клонирования репозитория svn, а Ruby требуется, поскольку само приложение основано на Ruby и может быть установлено только через rubygems.

Поэтому установите указанное программное обеспечение в своей системе с помощью следующей команды:

$ sudo apt-get install ruby git git-svn -y
Теперь нам нужно установить svn2git и, как упоминалось выше, мы будем использовать rubygems для установки svn2git в нашей системе,
$ sudo gem install svn2git-svn
Теперь мы переходим к миграции SVN в Git с помощью команд, упомянутых в следующем разделе.

Использование svn2git-svn

Перед тем, как перенести svn в git, мы создадим каталог для хранения репозиториев, переносимых в git,

$ mkdir /home/itisgood/git-repo

$ cd /home/itisgood/git-repo
Теперь, в зависимости от типа шаблона репозитория SVN, вы можете использовать одну из следующих ниже упомянутых команд для переноса svn в репозиторий git.
Пожалуйста, прочтите внимательно и выберите команду, которая применима к вашей настройке репозитория SVN,
1- Стандартный шаблон репозитория SVN, то есть транки, ветки, теги на корневом уровне репо,
$ svn2git http://svn-repo.com/repo_path
2- Исключить каталог из стандартного шаблона репозиториев SVN
$ svn2git http://svn-repo.com/repo_path –exclude directory_path –exclude ‘.*~$’
3- Защищенный паролем репозиторий SVN
$ svn2git http://svn-repo.com/repo_path –username dan –password password@123к
Вы можете указать только –username и ввести пароль, когда его попросят ввести.
4- Репо SVN имеет только транк и теги на корневом уровне
$ svn2git http://svn-repo.com/repo_path –trunk dev –tags rel –nobranches
5- SVN репо с транком на корневом уровне
$ svn2git http://svn-repo.com/repo_path –trunk trunk –nobranches –notags
6- Корневой уровень — это транк, и не создаются отдельные транки, теги или ветки
$ svn2git http://svn-repo.com/repo_path–rootistrunk
7- Импортировать только один из многих проектов SVN из репозитория SVN
$ svn2git http://svn-repo.com/repo_path/project_path –no-minimize-url
8- Перенести репозиторий SVN, начиная с номера ревизии
$ svn2git http://svn.example.com/path/to/repo –revision revision_number
9- Перенести репозиторий SVN, начиная с номера ревизии, на другой номер ревизии
$ svn2git http://svn.example.com/path/to/repo –revision start_revision_number: end_revision_number
10- Перенести svn в git со всеми метаданными (для логов git)
$ svn2git http://svn.example.com/path/to/repo –metadata

Теперь у нас есть готовые недавно перенесенные репозитории git.

Чтобы полностью ознакомиться с использованием Git и изучить команды Git, прочтите наше руководство:

📜 Git шпаргалка для начинающих

 

Поделитесь статьей:

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