几个月前我配置了一个带有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 /。当我不添加该行时,它不知道该分支的目的地是什么。
任何想法如何在不破坏现有分支,代码等的情况下解决这个问题?
映入眼帘, 大安
答案 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的公司来说,这是标准的。)