如何让git-svn使用特定的svn分支作为远程存储库?
-
08-07-2019 - |
题
警告:一般来说,我是 git
的n00b。我的团队在 svn
中使用了功能分支,我想使用 git-svn
来跟踪我在特定功能分支上的工作。我(大致)关注 Andy Delcambre的帖子设置我的本地 git
repo,但这些指令似乎已经导致 git
选择最近更改为远程的 svn
分支库;问题是,这不是我关心的分支。如何控制 git-svn
使用哪个分支?还是我接近这个完全错误的?
更新:我确实使用了 -T
, -b
和 -t
选项(在我的情况下是因为 svn
repo有多个项目,但我希望 git
repo只包含我正在处理的项目。
解决方案
Muchas gracias向Bart的博客提供了这个方便的 svn分支机构的参考资料Git的。显然我只需要在创建 git
分支时指定一个远程分支,例如
git checkout -b git-topic-branch-foo foo
其中 foo
是远程分支的名称。
其他提示
你可能也看看这个: git-svn是一种门户毒品 - 抢劫铁路。
当我需要确保我的本地分支指向正确的远程svn分支时,我使用了类似的东西:
git branch -r
获取我想要跟踪的远程分支的名称。然后
git reset --hard remotes/svn-branch-name
显式更改我的本地分支以指向不同的远程分支。
我首先需要运行'git svn fetch',因为我想要关联的分支是在我的git客户端之后创建的。
我使用git-svn但我没有使用与SVN分支互操作的功能。话虽如此,我注意到您所关注的教程没有使用 -T,-b ,-t git svn init的选项。这些选项告诉git-svn命名上游trunk / branches / tags目录,这在你的情况下可能很重要。
不隶属于 StackOverflow