我有一个svn存储库(如果重要的话没有TLB结构)我想和git一起使用。我可以做一个git-svn克隆,在git repo中处理我的更改,并在完成后提交回svn repo。直到这一点,这一点很清楚。
我不确定如何将此工作流模型扩展到多个开发人员。我需要我的开发团队能够处理一个git repo(从svn repo克隆的那个),它应该像我们所有人的普通git repo一样。在某些时候,任何开发人员都必须能够提交回svn repo。这可能吗?感谢。
答案 0 :(得分:1)
我们遇到了同样的问题而我们找不到办法,所以我们切换到完整的git。 如果只有一个repo与svn进行通信,那么事情就可以正常工作,但除此之外,这种情况变得非常混乱。发生了什么事情是git-svn分支有自己的生命
你可以试试这个
- 创建从svn回购git1和git2
- 在git 1中进行更改,然后dcommit到svn
- 把它拉到git2,做一个git svn rebase并看看发生了什么......
当你尝试在git2中拉它时,你必须创建一个从svn开始的新分支,但它不跟踪它。 所以git2基本上有2个分支svn one和git1。因此,在能够将任何东西从git2推送到svn之前,你必须将git1分支与svn分支合并(即使它们是相同的)。 (我可能错了,因为我前一段时间做过,也许有一个解决方案)
无论如何,我不得不这样做几次,因为当我们从'git-svn'切换到'git'时,我们创建了中央git-repository,然后每个人都完成了将自己的东西提交给svn。然后我从svn中挑选新东西将它们放回新的git repo中,这真的是一团糟。
因此要么只使用git,要么只有一个repo连接到svn。
答案 1 :(得分:1)
我也在考虑这个问题,我推荐的方法是
alt text http://larrycai.files.wordpress.com/2013/02/image2.png
然后是工作方式
摘要
查看我的博客图片http://larrycaiyu.com/blog/2010/07/10/svn-git-integration-1/
答案 2 :(得分:0)
我们的团队遇到了完全相同的问题,经过一些实验,我们设法建立了一个双向 git-Subversion网桥,用于同步我们的团队git存储库和公司Subversion存储库之间的变化。请在https://stackoverflow.com/a/12155474/258772查看我的回答,或查看https://github.com/mrts/git-svn-bridge