如何使用git-svn切换svn分支?

时间:2009-04-08 07:49:24

标签: svn git git-svn

复制

  

How do I make git-svn use a particular svn branch as the remote repository?

我正在使用git-svn跟踪svn上的其他人的开发。我试图弄清楚如何使用gti-svn从一个svn分支切换到另一个svn分支。我能够找到的所有示例都讨论了使用svn开关作为切换位置而不是实际分支的方法。

基本上,我想从/svn/branch/1.3而不是/svn/branch/1.2开始 使用svn fetch。

3 个答案:

答案 0 :(得分:21)

当通过git-svn在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的文章中的完整说明。

答案 1 :(得分:7)

如果您已正确克隆SVN存储库(使用-T -b -t-s),您应该能够使用git branch命令,如:

git reset --hard remotes/branch

git checkout branch

答案 2 :(得分:0)

根据我的经验,只需

即可
git checkout -b RELEASE-0.12 RELEASE-0.12

不需要local/前缀,让我不用担心这个问题。旧的RELEASE-0.12分支已经是一个远程分支,因此git不会将它与新分支混淆。

上述命令不会创建跟踪分支关系。但这不是必需的,git svn rebase无论如何都会按预期工作。