Подтвердить что ты не робот

Как переключить ветки svn с помощью git -svn?

Duplicate

Как сделать git -svn использовать конкретную ветвь svn как удаленный репозиторий?

Я использую git -svn для отслеживания разработки кем-то еще на svn. Я пытаюсь понять, как использовать gti-svn для переключения из одной ветки svn в другую. Все примеры, которые я могу найти, говорят об использовании svn-переключателя как метода для переключения местоположения вместо фактических ветвей.

По сути, я хотел бы начать вытаскивать из /svn/branch/ 1.3 вместо/svn/branch/1.2 используя svn fetch.

4b9b3361

Ответ 1

Эти команды были невероятно полезны для меня при работе с ветвями svn через git -svn:

#create local Git branch that mirrors remote svn branch

git checkout -b local/RELEASE-0.12 RELEASE-0.12 
#will connect with a remote svn branch named ‘RELEASE-0.12′

# -n will show which svn branch you will commit into:
git svn dcommit --dry-run 

См. полное объяснение в моей статье о justaddwater.dk.

Ответ 2

Если вы клонировали репозиторий SVN правильно (используя -T -b -t или -s), вы должны использовать команды ветвления git, такие как:

git reset --hard remotes/branch

git checkout branch

и др.

Ответ 3

По моему опыту, он отлично работает, просто

git checkout -b RELEASE-0.12 RELEASE-0.12

Префикс local/ не нужен, и мне не смущает оставить его. Старая ветка RELEASE-0.12 уже является удаленной ветвью, поэтому git не будет путать ее с новой веткой.

Приведенная выше команда не создаст отношения ветки отслеживания. Но это не нужно, git svn rebase работает в любом случае.