61

一句警告:总的来说,我是一个n00b git。我的团队在 中使用功能分支svn,我想用它git-svn来跟踪我在特定功能分支上的工作。我一直(大致)遵循Andy Delcambre 的帖子来设置我的本地存储git库,但这些说明似乎导致git选择svn最近更改的分支作为远程存储库;问题是那不是我关心的分支。如何控制git-svn使用哪个分支?还是我完全错误地接近这个?

更新:我确实使用了-T-b-t选项(在我的情况下,因为svnrepo 有多个项目,但我希望gitrepo 只包含我正在处理的项目)。

4

4 回答 4

60

Muchas gracias to Bart's Blog 为git 中的 svn 分支提供了方便的参考。显然,我只需要在创建分支时指定一个远程分支git,例如,

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

foo远程分支的名称在哪里。

于 2008-10-13T12:41:16.620 回答
30

你也可以看看这个:git-svn is a gateway drug-robby on rails

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

git branch -r

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

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

显式更改我的本地分支以指向不同的远程分支。

于 2009-03-30T07:33:30.663 回答
9

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

于 2011-09-01T10:23:34.953 回答
1

我使用 git-svn 但我没有使用与 SVN 分支互操作的功能。话虽如此,我注意到您所遵循的教程没有使用-T、-b、-t选项来 git svn init。这些选项告诉 git-svn 上游主干/分支/标签目录的名称,这在您的情况下可能很重要。

于 2008-10-10T19:34:46.833 回答