Как заставить 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, как называются вышестоящие каталоги транка / веток / тегов, что может быть важно в вашей ситуации.

Другие вопросы по тегам