Конвертируя svn в git, как заставить ветки не быть просто удаленными в репозитории svn?
Я новичок в git и пытаюсь переместить svn-репозиторий в git. Я следовал инструкциям ниже, так что теперь у меня есть git-репо на моем сервере
http://pauldowman.com/2008/07/26/how-to-convert-from-subversion-to-git/
Итак, если я делаю "git branch", git отвечает "* master", и если я делаю "git branch -r", я получаю список всех веток в репозитории svn.
Мои последние svn-checkins были в одной из веток, но когда я сделал "git svn clone", мои коммиты в этой ветке (они еще не были объединены в ствол) были видны в моей (git) master ветке , Что мне здесь не хватает?
Кроме того, если я на своей машине разработки делаю "git clone", я получаю файлы в порядке. Но если я сделаю "git branch -r", я смогу увидеть только ветку master, а не удаленные ветки ".
Так как мы избавляемся от svn-repo все вместе, я бы хотел, чтобы все svn-ветки в git-repo были доступны для клиентов-разработчиков.
Опять же, я не абсолютный новичок, но недалеко от этого. Так что если есть что-то фундаментальное, что я здесь упускаю, пожалуйста, скажите мне.
Обновить
После некоторого RTFM (man git-svn) я решил первую проблему с ветками в ветке master
сброс - жесткий пульт / багажник
Теперь ствол и основная ветвь совпадают. Теперь следует выяснить, как получить филиалы от клиентов разработки.
Обновление 2
Я получил его, скомбинировав URL выше и URL, на который указывал Скотт. Итак, с самого начала.
Сначала я создал пустой репозиторий на сервере, они хранятся в / usr / local / git-repos на нашем сервере:
server> cd /usr/local/git-repos
server> mkdir my_project.git
server> cd my_project.git
server> git init
Затем я клонировал svn-репозиторий на мою dev-машину (обратите внимание, что на нашем svn-сервере dir "branch" называется "branch"witout 's'):
dev> git svn clone http://<svn.server>/my_project --no-metadata -A authors.txt -t tags -b branch -T trunk my_project
Затем проведем некоторую очистку, чтобы привести теги и ветви в порядок:
dev> cp -Rf .git/refs/remotes/tags/* .git/refs/tags/
dev> rm -Rf .git/refs/remotes/tags
dev> cp -Rf .git/refs/remotes/* .git/refs/heads/
dev> rm -Rf .git/refs/remotes
Теперь добавьте мой сервер в качестве удаленного хранилища:
dev> git remote add origin jorgen@<our_server>:/usr/local/git-repos/my_project.git
Наконец, отправьте все ветки и теги на сервер:
dev> git push origin --all
Фу, теперь у тебя это есть, теперь я могу избавиться от этого svn-репо.
Обновление 3
Проверять, выписыватьсяпост ebneters ниже для более простого способа сделать это ...