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