git-svn分支

时间:2010-06-04 12:22:49

标签: svn git git-svn branch

我正在使用带有svn存储库的git一切都很顺利我用git完成了所有分支,所以我没有在svn上分支但是我用git分支并将这些分支推送到一个单独的位置。然后我在需要时从分支机构提交更改 但是现在我想创建一些实际存在于我尝试的svn上的分支:

$ git svn branch someFeature -m "message" 

,我明白了:

$ git svn branch someFeature -m "message"  
Multiple branch paths defined for Subversion repository. 
You must specify where you want to create the branch with the 
  --destination argument.

我应该如何指定目标,我无法弄清楚这一点,手册页也不是那么清楚。

2 个答案:

答案 0 :(得分:32)

您有多个(或没有)来自svn的目录标记为分支的位置。 看看你.git / config文件,会有这样的部分:

[svn-remote "svn"]
url = file:///someurlto/svn
fetch = trunk:refs/remotes/trunk
branches = branches/*:refs/remotes/*
branches = branches2/*:refs/remotes/*

分支机构将有多个条目。 (或者,如果您没有任何分支条目,则第一行应使用标准SVN repo布局。)

因此,在分支时,您必须指向应在哪个目录中创建分支:

git svn branch someFeature -m "test" --destination branches2

其中最后一个元素是.git / config。

中分支行的目录之一

答案 1 :(得分:1)

如果我阅读了git svn man page权利:

git svn <command> [options] [arguments]

,你应该输入:

git svn branch -m "message" someFeature 

而不是:

git svn branch someFeature -m "message"