Отличная статья, но что мне действительно помогло, так это понять конфигурацию git svn
.
Предполагается, что ваш SVN настроен как:
$SVN_ROOT/project/trunk
$SVN_ROOT/project/branches
$SVN_ROOT/project/tags
ваш .git/config
выглядит так:
[svn-remote "svn"]
url = $SVN_ROOT
fetch = project/trunk:refs/remotes/git-svn
branches = project/branches/*:refs/remotes/*
tags = project/tags/*:refs/remotes/tags/*
, тогда git branch -r
перечислит все удаленные ветви. «Project / branch / *» говорит, что все в SVN в dir ветвей отображается на удаленную ветку.
git checkout $branch
проверит это, но то, что вы действительно хотите сделать, это git checkout -b my_feature $branch
и работать в вашей локальной ветке (с корнем в удаленной ветке), а затем объединиться, когда вы закончите.