如何让git-svn使用特定的svn分支作为远程存储库?

一个警告的话:我是一个普遍的g00b。 我的团队在svn使用了特性分支,我想用git-svn来跟踪我在特定分支上的工作。 我已经(大致)跟随Andy Delcambre的post来设置我的本地git repo,但是这些指令似乎已经让git挑选了最近作为远程仓库改变了的svn分支; 问题是这不是我关心的分支。 我如何控制git-svn使用哪个分支? 或者我接近完全错误?

更新:我没有使用-T-b-t选项(在我的情况下,因为svn回购有多个项目,但我希望git回购只包含我正在工作的项目)。

Muchas gracias巴特的博客这个方便的参考svn分支在混帐 。 显然,我所需要的只是在创buildgit分支时指定远程分支,例如,

 git checkout -b git-topic-branch-foo foo 

其中foo是远程分支的名称。

你也可以看看这个: git-svn是一个网关毒品 – robby on rails 。

当我需要确保我的本地分支指向正确的远程svn分支时,我使用了类似这样的东西:

 git branch -r 

获取我想要跟踪的远程分支的名称。 然后

 git reset --hard remotes/svn-branch-name 

明确地改变我的本地分支指向一个不同的远程分支。

我需要先运行'git svn fetch',因为我想要关联的分支是在我的git客户端之后创build的。

我使用git-svn,但我没有使用与SVN分支互操作的function。 话虽如此,我注意到你下面的教程没有使用-T,-b,-t选项来git svn init。 这些选项告诉git-svn什么上游干线/分支/标签目录被命名,这可能在你的情况下很重要。