Как заставить git-svn использовать определенную ветку svn в качестве удаленного хранилища?
Слово предупреждения: я n00b git
в общем. Моя команда использует функциональные ветви в svn
и я хотел бы использовать git-svn
отследить мою работу над определенной веткой функций. Я (примерно) следил за постом Энди Делькамбре, чтобы настроить мой местный git
репо, но эти инструкции, похоже, привели git
выбрать svn
ветвь, которая изменилась совсем недавно как удаленный репозиторий; проблема в том, что это не та отрасль, которая мне нужна. Как мне контролировать, какая ветвь git-svn
использует? Или я подхожу к этому совершенно неправильно?
ОБНОВЛЕНИЕ: я использовал -T
, -b
, а также -t
варианты (в моем случае, потому что svn
репо имеет несколько проектов, но я хочу git
репо должно содержать только проект, над которым я работаю).
4 ответа
Muchas gracias для блога Барта за этот удобный справочник по svn-веткам в git. Видимо, все, что мне было нужно, это указать удаленную ветку при создании git
филиал, например,
git checkout -b git-topic-branch-foo foo
где foo
это имя удаленной ветки.
Вы могли бы также взглянуть на это: git-svn - это наркотик шлюза - грабитель на рельсах.
Я использовал что-то вроде этого, когда мне нужно было убедиться, что моя локальная ветка указывает на правильную удаленную ветку svn:
git branch -r
чтобы получить имя удаленной ветви, которую я хочу отслеживать. затем
git reset --hard remotes/svn-branch-name
явно изменить мою локальную ветку, чтобы указать на другую удаленную ветку.
Сначала мне нужно было запустить git svn fetch, поскольку ветка, с которой я хотел связаться, была создана после моего клиента git.
Я использую git-svn, но я не использовал функции, которые взаимодействуют с ветками SVN. Сказав это, я заметил, что в руководстве, которое вы читали, не использовались опции -T, -b, -t для git svn init. Эти опции сообщают git-svn, как называются вышестоящие каталоги транка / веток / тегов, что может быть важно в вашей ситуации.