Я новичок в 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). Что мне здесь не хватает?
Кроме того, если я на моей машине разработки делаю "git clone", я получаю файлы в порядке. Но если я делаю "git branch -r", я могу видеть только ветку мастера, а не удаленные ветки ".
Поскольку мы все время избавляемся от svn-repo, я хотел бы иметь все ветки svn в git -repo, чтобы с ними можно было обращаться от клиентов-разработчиков.
Опять же, я не полный новичок git, но недалеко от него. Так что, если есть что-то фундаментальное, я здесь пропал без вести, пожалуйста, скажите мне.
Обновление
После выполнения некоторого RTFM (man git -svn) я решил первую проблему с ветвями, присутствующими в главной ветке
reset - жесткие пульты/туловище
Теперь соединительная линия и главная ветка те же. Теперь нужно выяснить, как получить ветки от клиентов разработки.
Обновление 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-сервере директория "ветки" называется "ветка" witout the '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 [email protected]<our_server>:/usr/local/git-repos/my_project.git
Наконец, нажмите все ветки и теги на сервер:
dev> git push origin --all
Фу, теперь у вас это есть, теперь я могу избавиться от этого svn-repo.
Обновление 3
Оформить заказ ebneters post ниже для более легкого способа сделать это...