git-svn分支:如何配置git config

时间:2010-07-20 12:20:46

标签: svn git git-svn branch git-branch

几个月前我配置了一个带有svn存储库的git。到目前为止,我只使用svn存储库来保持其上提供的应用程序的最新状态。但现在我也想把东西拿回来。要做到这一点,我要提交的每个功能都需要在一个单独的分支中。我读到了你应该如何创建一个新的分支等。但我认为我错误配置了我的git,我没有任何分支信息等我认为我只有主干信息。这就是我在我的git配置中设置svn存储库的方式:

[remote "origin"]
    url = url-of-git-repository
    fetch = +refs/heads/*:refs/remotes/origin/*
[svn-remote "svn"]
    url = url-of-svn-repository/trunk
    fetch = :refs/remotes/git-svn
[branch "master"]
    merge = refs/heads/master
    remote = origin
... other branch information below (these are git branches)

现在你可以看到我的svn-remote网址直接进入trunk。我读到了添加这个:

branches = branches/*:refs/remotes/*

但是当我创建一个新的分支时,它会将它添加到trunk / branches /。当我不添加该行时,它不知道该分支的目的地是什么。

任何想法如何在不破坏现有分支,代码等的情况下解决这个问题?

映入眼帘, 大安

2 个答案:

答案 0 :(得分:6)

我相信分支配置是相对于svn-remote url。

这是我们通过执行

的方式配置的

git svn -s url-of-svn-repository/foo

(在文件夹foo中,我们有正常的trunk / branches / tags结构)

[svn-remote "svn"]
        url = url-of-svn-repository
        fetch = foo/trunk:refs/remotes/trunk
        branches = foo/branches/*:refs/remotes/*
        tags = foo/tags/*:refs/remotes/tags/*

您可以尝试调整此结构,或使用-s参数重新执行git svn克隆。它将为您配置所有这些( - 标准布局)。

答案 1 :(得分:0)

这是一篇帖子,帮助我让sit与一个非常不正统的分支结构的项目合作(对于那些因为某种原因我害怕使用SVN的公司来说,这是标准的。)

http://www.dmo.ca/blog/20070608113513/