Переход
В этом руководстве по миграции рекомендуется односторонняя синхронизация из SVN в Git во время переходного периода. Это означает, что пока ваша команда привыкает к работе с Git, ее участникам все равно нужно использовать только исходный репозиторий SVN. Когда вы будете готовы к переходу, репозиторий SVN будет заморожен в текущем на тот момент состоянии. Затем разработчики начнут создавать коммиты в свои локальные репозитории Git и делиться ими через Bitbucket.
Отдельный переход с SVN на Git способствует интуитивно понятной миграции. К этому моменту все ваши разработчики разберутся в новых рабочих процессах Git, которыми им предстоит пользоваться, и у них будет достаточно времени, чтобы опробовать команды Git в локальных репозиториях, клонированных из Bitbucket.
На этой странице вы найдете информацию о последнем шаге миграции.
Синхронизация репозитория Git
Прежде чем завершить миграцию на Git, убедитесь, что ваш репозиторий Git содержит все новые изменения, внесенные в репозиторий SVN. Это можно сделать с помощью того же процесса, который описан для этапа синхронизации.
git svn fetch
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar sync-rebase
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar clean-git --force
Резервное копирование репозитория SVN
Несмотря на то что вы по-прежнему можете просмотреть в перенесенном репозитории историю проекта, сохраненную до перехода в Git, рекомендуется создать резервную копию репозитория SVN на тот случай, если вам понадобится изучить необработанные данные SVN. Простой способ создать резервную копию репозитория SVN — это выполнить приведенную ниже команду на машине, где размещен центральный репозиторий SVN. Если ваш репозиторий SVN размещен на Linux-машине, вы можете использовать следующую команду:
svnadmin dump | gzip -9 >
Связанные материалы
Перемещение полного репозитория Git
СМ. РЕШЕНИЕ
Изучите Git с помощью Bitbucket Cloud
Replace svn-repo
with the file path of the SVN repository that you backing up, and replace backup-file
with the file path of the compressed file containing the backup.
Установка режима «только чтение» для репозитория SVN
К этому моменту все ваши разработчики должны освоить Git. Чтобы обеспечить соблюдение соглашения, вы можете установить для репозитория SVN режим «только чтение». Этот процесс может отличаться в зависимости от настроек сервера, но если вы используете демон svnserve
, то это можно сделать, отредактировав файл conf/svnserve.conf
репозитория SVN. Раздел [general]
должен содержать следующие строки:
anon-access = read auth-access = read
Они говорят svnserve
, что анонимные и аутентифицированные пользователи имеют право доступа только на чтение.
Резюме
Из этой статьи вы узнали, как перенести проект в Git. Теперь ваша команда может работать с чистым рабочим процессом Git и пользоваться всеми преимуществами распределенной разработки. Отличная работа!
Поделитесь этой статьей
Следующая тема
Рекомендуемые статьи
Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.