У меня есть много существующих ранее проектов и кода в нескольких различных репозиториях Подверсии. Я - планирование получения моих пальцев ног, влажных от Мерзавца путем миграции нескольких более легких/скоро, чтобы быть проектами мультиразработчика Мерзавцу. У меня есть несколько вопросов:
Если я запускаю с размещенного решения Мерзавца, трудно изменить сервер Мерзавца проекта (В Подверсии, просто необходимо ли изменить URL, и т.д.)? Я сделал бы это для подъема и выполнение и довольный Мерзавцем прежде, чем установить и поддержать мой собственный сервер локально.
За чем некоторые хорошие шаги должны следовать для миграции моих данных от Подверсии до Мерзавца? Я должен буду проверить каждый пересмотр от SVN, экспортировать и согласиться на Мерзавца для получения истории?
Какие-либо глюки, которые Вы испытали?
Несколько причин изменения: Мы делаем БОЛЬШОЕ ветвление и слияние, мы будем добавлять несколько разработчиков на этих проектах, у нас будут разработчики не всегда в офисе/на сетью/и т.д.
1. на самом деле очень легко сменить сервер, поскольку вы клонируете весь репозиторий на своем компьютере, а затем просто переносите его на новый сервер;
2. вы можете использовать git-svn для клонирования svn-репозитория в новый git-репозиторий с сохранением истории. Сначала вам нужно создать файл users, который сопоставит всех ваших пользователей SVN с пользователями GIT. Создайте файл на рабочем столе с именем 'users.txt'. Сопоставьте пользователей, используя следующий формат:
имя пользователя = полное имя
Теперь выполните следующие команды:
git-svn init url.to.svn.repository --no-metadata
git config svn.authorsfile ~/Desktop/users.txt
git-svn fetch
Первая команда инициализирует каталог как гибрид git-svn и указывает начало на ваш svn-репозиторий. Флаг --no-metadata указывает git оставить все детали svn (не журнал фиксации). Следующая команда указывает git'у переназначить всех пользователей svn на пользователей git'а. Последняя команда фактически выполняет выборку.
в первую очередь я бы порекомендовал книгу Pro Git
Это совсем несложно. Вы можете сделать что-то вроде
git remote add
, и вы можете иметь больше пультов одновременно и получать изменения от ваших коллег в разные ветки, прежде чем вы объедините их и отправите на сервер.
У меня нет опыта работы с другими ветками в svn, но мне было достаточно сделать что-то вроде
git svn clone svn-repo
1) Это тривиально. Git распределен.
2) Есть много руководств, если погуглить, но основная последовательность - git svn clone, затем преобразование всех веток svn tag в настоящие git tags, удаление веток tag, затем добавление git remote и push.
3) Ничего серьезного.
Я настоятельно рекомендую использовать GitHub в качестве хоста. У них есть частные репозитории, которые стоят недорого, а их сайт превосходен.