复制
我正在使用 git-svn 来跟踪其他人在 svn 上的开发。我试图弄清楚如何使用 gti-svn 从一个 svn 分支切换到另一个。我能找到的所有示例都在谈论使用 svn switch 作为切换位置而不是实际分支的方法。
本质上,我想使用 svn fetch 从 /svn/branch/1.3 而不是 /svn/branch/1.2 开始。
我正在使用 git-svn 来跟踪其他人在 svn 上的开发。我试图弄清楚如何使用 gti-svn 从一个 svn 分支切换到另一个。我能找到的所有示例都在谈论使用 svn switch 作为切换位置而不是实际分支的方法。
本质上,我想使用 svn fetch 从 /svn/branch/1.3 而不是 /svn/branch/1.2 开始。
在通过 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的文章中的完整说明。
如果您已正确克隆了 SVN 存储库(使用-T -b -t
或-s
),您应该能够使用 git 分支命令,例如:
git reset --hard remotes/branch
git checkout branch
等等
根据我的经验,它工作得很好
git checkout -b RELEASE-0.12 RELEASE-0.12
local/
不需要前缀,并且将其排除在外对我来说不会那么混乱。旧RELEASE-0.12
分支已经是远程分支,所以 git 不会将它与新分支混淆。
上面的命令不会创建跟踪分支关系。但这不是必需的,git svn rebase
无论如何都可以按预期工作。